1. 程式人生 > >JAVA中常見的三種列印異常的方式

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的話,那就是你把那個傾向變成真實的了。