而輸出訊息的格式請參考下面圖示:
- printStackTrace ()方法 輸出如下
java.io.FileNotFoundException: abc.txt (系統找不到指定的檔案。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source) at ExceptionExample.someMethod(ExceptionExample.java:7) at ExceptionExample.main(ExceptionExample.java:19)
java.io.FileNotFoundException: abc.txt (系統找不到指定的檔案。)
abc.txt (系統找不到指定的檔案。)另外我們故意讓程式丟出 NullPointerException,透過上面三種方法輸出例外訊息,其範例與輸出結果如下:
- 範例
String str = null; try { str.length(); } catch (Exception e) { e.printStackTrace(); }
java.lang.NullPointerException at ExceptionExample.main(ExceptionExample.java:30)
java.lang.NullPointerException
null在上面的 NullPointerException 例子,toString() 與 getMessage() 幾乎沒有任何幫助,基本上,除非是自訂的例外或者可以明顯知道例外的輸出的解果發生在哪個地方,例如,我們只在某個地方開啟特殊的檔案,則我們可以考慮使用 toString() 與 getMessage() 來減少除錯訊息的輸出,否則建議還是直接 printStackTrace() 方法輸出詳細的例外訊息。
[參考資料]
沒有留言:
張貼留言