iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

大樂透對獎系列 第 28

例外

  • 分享至 

  • xImage
  •  

首先要瞭解錯誤會被包裝為物件,這些物件都是可拋出的,因此可拋出的物件都繼承自java.lang.Throwable類別,並可使用try、catch進行捕捉,Throwable定義了取得訊息、堆疊追蹤等方法,它有兩個子類別:java.lang.Error與java.lang.Exception。

Error與其子類別實例代表嚴重系統錯誤,例如硬體層面錯誤、JVM錯誤或記憶體不足等問題。雖然也可以使用try、catch來處理Error物件,但並不建議,發生嚴重系統錯誤時,Java應用程式本身是無力回復的。舉例來說,Error物件拋出時,基本上不用處理,任其傳播至JVM為止,或者是最多留下日誌訊息,供開發者除錯時作為修正程式時的線索。

如果拋出了Throwable物件,而程式中沒有任何catch捕捉到物件,最後由JVM捕捉到的話,那JVM基本處理就是顯示錯誤物件包裹之訊息並中斷程式。

程式設計本身的錯誤,建議使用Exception或其子類別實例來表現,單就語法與繼承架構上來說,如果某個方法宣告會拋出Throwable、Exception或子類別實例,但又不屬於Error或java.lang.RuntimeException或其子類別實例,你就必須明確使用try、catch語法加以處理,或者用throws宣告這個方法會拋出例外,否則會編譯失敗。


上一篇
例外
下一篇
例外
系列文
大樂透對獎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言