天天看點

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