e.getMessage() e.printStackTrace() 和e.printStackTrace() 小結
阿新 • • 發佈:2018-09-30
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() 小結