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():在控制台打印出異常種類,錯誤信息和出錯位置等
---------------------
原文鏈接:https://blog.csdn.net/opera95/article/details/74885827