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