Exception e中e的getMessage()和toString()方法的區別:
示例代碼1:
public class TestInfo {
private static String str =null;
public static void main(String[] args) {
System.out.println("test exception");
try {
if(str.equals("name")){
System.out.println("test exception");
}
} catch (Exception e) {
System.out.println(e.toString());
System.out.println(e.getMessage());
}
}
}
輸出結果:
java.lang.NullPointerException
null
示例代碼2:
public class TestInfo {
private static int m = 0;
public static void main(String[] args) {
System.out.println("test exception");
try {
m = 899/0;
} catch (Exception e) {
System.out.println(e.toString());
System.out.println(e.getMessage());
}
}
}
輸出結果:
java.lang.ArithmeticException: / by zero
/ by zero
總結:由此可以看出,e.toString()獲取的信息包括異常類型和異常詳細消息,而e.getMessage()只是獲取了異常的詳細消息字符串。
示例代碼1:
public class TestInfo {
private static String str =null;
public static void main(String[] args) {
System.out.println("test exception");
try {
if(str.equals("name")){
System.out.println("test exception");
}
} catch (Exception e) {
System.out.println(e.toString());
System.out.println(e.getMessage());
}
}
}
輸出結果:
java.lang.NullPointerException
null
示例代碼2:
public class TestInfo {
private static int m = 0;
public static void main(String[] args) {
System.out.println("test exception");
try {
m = 899/0;
} catch (Exception e) {
System.out.println(e.toString());
System.out.println(e.getMessage());
}
}
}
輸出結果:
java.lang.ArithmeticException: / by zero
/ by zero
總結:由此可以看出,e.toString()獲取的信息包括異常類型和異常詳細消息,而e.getMessage()只是獲取了異常的詳細消息字符串。
e的getMessage()和printStackTrace()方法的區別:
e.getMessage(); 只會獲得具體的異常名稱. 比如說NullPoint 空指針,就告訴你說是空指針... e.printStackTrace();會打出詳細異常,異常名稱,出錯位置,便於調試用.. 一般一個異常至少幾十行