1. 程式人生 > >Java 異常中e的getMessage()和toString()方法的異同

Java 異常中e的getMessage()和toString()方法的異同

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():獲得錯誤資訊

e.printStackTrace():在控制檯打印出異常種類,錯誤資訊和出錯位置等