Web | Coding | Blog | SOHO

[Java]例外類別 Throwable (基本觀念)

於「例外」該主題開始,使用的範例中提到 java.lang.ArrayIndexOutOfBoundsException
例外類別,那麼本篇將列出較常見的一些例外類別:

繼承來自java.lang.Throwable 類別的 兩大類, java.lang.Error 與 java.lang.Exception

Error 是用來處理會嚴重影響程式的錯誤,所以我們不會去捕捉這類的錯誤。
Exception 為一些較一般的例外,而且我們可以做適當的處理使程式繼續執行。


throwable

 

有趣的是,如果拋出的例外是 RuntiomeException 類別,或是其下方的子類別,
就算不撰寫例外處理的程式敘述,依然是可以 編譯成功。 (如「例外」該主題開始,使用的範例)

相反的,如果拋出為 IOException 是必須撰寫例外處理的程式敘述。


所以當例外發生,catch() 接收 Throwable 子類別產生的物件。
在[Java]例外處理 exception handing(範例實作)文末提到了

catch(ArrayIndexOutOfBoundsException e)

catch() 括號內只會接收子類別產生的物件,其他物件是不會接收的。
而這個 e 我們從上方的流程關係圖可以得知,
Throwable -> Exception -> RuntimeException
-> IndexOutOfBoundsException -> ArrayIndexOutOfBoundsException 所建立的物件。


於下篇將會談,那麼 catch() 括號內只接收一種類別,如何捕捉多個例外?



參考書籍:Java 7 教學手冊
Java 學習日誌 (點此閱讀所有 Java日誌)


如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;
另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:

Comments

comments

如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:


© 2017 4xCode™ | Design:SC 站長

歡迎來到SC站長網站

 

本站文章不再更新,新文章將發表至

4 x ‘s Space 網站

 

謝謝您一直以來的支持,我們新網站見~

 

SC站長網站文章也會將慢慢轉移至新網站,

新網站連結 4-x.tw 點此前往,或點擊上方圖案)