Java 異常中e的getMessage()和toString()方法的異同
阿新 • • 發佈:2019-02-18
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
示例程式碼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());
}
}
}
輸出結果:
/ by zero
總結:
e.toString(): 獲得異常種類和錯誤資訊
e.getMessage():獲得錯誤資訊
e.printStackTrace():在控制檯打印出異常種類,錯誤資訊和出錯位置等