天天看點

java 中的e和e.printStackTrace()方法

e

初始化,也就是執行個體化Exception類型的對象,e是此對象引用名稱。然後e(引用)會自動調用Exception類中指定的方法,也就出現了e.printStackTrace()。當然,我們也可以用System語句輸出,那麼這兩個語句有什麼差別呢?

1、兩個輸出語句都能輸出,System語句可以提示你異常發生的位置;但e.printStackTrace()可以顯示更深的調用關系。例如:程式中有繼承的關系,

Rose extends Flower ; Flower extends Plant;假如我們在建立 Rose

的時候發生異常,那麼System語句就會輸出異常 at Rose ,然後向外層輸出

但e.printStackTrace()輸出除了标準異常外,列印 at Plant at Flower at Rose

…….再向外層調查。 在向外層調查的情況下,都一樣

2、System.out.println();當發生異常時顯示你自己設定的字元串資訊;e.printStackTrace();是列印異常的堆棧資訊,指明錯誤原因。

note:其實當發生異常時,通常要處理異常,這是程式設計的好習慣,是以e.printStackTrace()可以友善你調試程式!