1. 程式人生 > >e.getMessage() e.printStackTrace() 和e.printStackTrace() 小結

e.getMessage() e.printStackTrace() 和e.printStackTrace() 小結

void equal ktr catch int 執行 [] stat trac

1 e.getMessage() ; 只會獲得異常的名稱。比如說NullPoint 空指針,就告訴你說是空指針

2.e.toString(): 獲得異常種類和錯誤信息

3.e.printStackTrace(); 在控制臺打印打印出詳細的異常信息,異常名稱。便於調試

3 如果異常是用無參構造器構造後續又沒有設置message的話一般就是null,如果用帶String參數的構造器構造的話,返回的就是那個參數。

下面是栗子1:

    public static String str =null;
    public static void main( String[] args )
    {
        
try{ if(str.equals("name")){} }catch (Exception e){ System.out.println("e.toString()打印結果: "+ e.toString()); System.out.println("e.getMessage()打印結果: "+ e.getMessage()); System.out.println("============分割線============="); e.printStackTrace(); } }

執行結果:

e.toString()打印結果: java.lang.NullPointerException
e.getMessage()打印結果: null
============分割線=============

java.lang.NullPointerException
at test.App.main(App.java:13)

下面是栗子2:

   public static int m = 0;
    public static void main( String[] args )
    {
        try{
            m = 899/0;
        }catch (Exception e){
            System.out.println("e.toString()打印結果: "+ e.toString());
            System.out.println("e.getMessage()打印結果: "+ e.getMessage());
            System.out.println("============分割線=============");
            e.printStackTrace();
        }
    }

執行結果:
e.toString()打印結果: java.lang.ArithmeticException: / by zero
e.getMessage()打印結果: / by zero
============分割線=============
java.lang.ArithmeticException: / by zero
at test.App2.main(App2.java:13)

  

e.getMessage() e.printStackTrace() 和e.printStackTrace() 小結