Java 程式設計(二) :第 十章 例外處理 下一頁 |
第十章 例外處理 10-1 例外處理簡介
10-1-1 何謂例外處理 程式執行當中,遇到異常狀況讓程式無法繼續執行時,系統必須有適當的處置,此處理狀況稱之為『例外處理』(Exception),較常見的異常狀況有: (1) 『I/O 處理』時發生異常狀況:譬如開啟某依檔案,但該檔案並不存在,而讓系統無法繼續執行時,所應處理的例外處理。 (2) 『運算處理』時發生異常狀況:譬如除數分母為 0 時。 (3) 『陣列處理』時發生異常狀況:陣列索引值超過陣列大小範圍,或索引值為負值時。 (4) 『資料形態處理』時發生異常狀況:譬如須由鍵盤讀入整數,但輸入為非數字時。 在 java 規範裡異常狀態有分為『例外』(Exception)與『錯誤』(Error),一般來講例外是表示異常狀態較輕微的現象,而錯誤則表示較嚴重的現象。兩者皆宣告於Java.lang 類別下,Exception 類別較常用的有:
另外,較常用的 Error 類別有:
還有許多相關 Exception 與 Error 類別,請自行參閱 Java DOC。 10-1-2 例外處理的語法 Java 例外處理的語法如下:
(1) try 區塊:此區塊程式在執行當中,被監視是否發生例外事件。 (2) catch (事件類別_1 事件物件_1) 區塊:當try 區塊內執行當中,發生例外事件_1 時,則被捕抓到,並執行此區塊內程式。 (3) final 區塊:無論是否捕抓到例外事件,此區塊都要執行。 10-1-3 範例研討:簡單捕抓異常現象 (A)程式範例:Ex10_1.java 我們用一個程式來驗證 NumberFormatException 與 ArrayIndexOutOfBoundsException 兩例外類別的運用,前者表示輸入數字資料格式不對發生例外事件,後者陣列指標超過範圍,程式範例如下:
(A) 執行結果 (1) 正常現象,兩數輸入正確,輸出兩數箱除結果,陣列指標輸入在陣列元素內,但最後 finally 敘述皆會執行,如下:
(2) 當數字輸入不正確,而輸入字元時,發生補抓到 NumberFormatException 異常現象,如下:
(3) 當陣列指標超過範圍時,則捕抓到 ArrayIndexOutOfBoundsException 異常現象,如下:
|
翻轉工作室:粘添壽
Java 程式設計(二) 含物件導向
翻轉電子書系列:
|