JAVA中常見的三種列印異常的方式
java丟擲異常的方法有很多,其中最常用的兩個:
System.out.println(e),這個方法打印出異常,並且輸出在哪裡出現的異常,不過它和另外一個e.printStackTrace()方法不同。後者也是打印出異常,但是它還將顯示出更深的呼叫資訊。
比如說:
A extends ---> B extends ----> C
當在建立A的過程中出現問題了,我們丟擲異常。
System.out.println(e),除了標準異常外,只打印at A 然後再向外層層輸出。
e.printStackTrace(),除了標準異常外,列印
at C
at B
at A
.......再向外層調查。
在向外層調查的情況下,都一樣。最後都會回到com.sun.midp.main.Main.main
在觀看馬士兵老師的Java視訊時,不知道為什麼,異常處理一章裡的第四節視訊缺少,我看了一下第五節,貌似講的是Java中的getMessage()與printStackTrace(),看了一下相關知識,試著總結下加深印象。
1.getMessage()
getMessage()是用來獲取異常中的異常錯誤訊息字串,但不返回異常錯誤的型別,這是用來獲得錯誤資訊的一個函式。
2.printStackTrace()
printStackTrace()這個方法會將Throwable物件的棧軌跡資訊列印到標準錯誤輸出流上,即產生異常的地方都會被列印到標準錯誤輸出流,不過往往錯誤是由其中某一個帶來的連續反應。
OK,大概就是這樣了。
第四節貌似還有throws與throw兩個關鍵字:
throw語句用在方法體內,表示丟擲異常,由方法體內的語句處理。
throws語句用在方法聲明後面,表示再丟擲異常,由該方法的呼叫者來處理。
throws主要是宣告這個方法會丟擲這種型別的異常,使它的呼叫者知道要捕獲這個異常。
throw是具體向外拋異常的動作,所以它是丟擲一個異常例項。
throws說明你有那個可能,傾向。
throw的話,那就是你把那個傾向變成真實的了。