Java 程式設計(二) :第 十章 例外處理 上一頁 |
10-3 自訂擲出例外 - throws
10-3-1 throws 語法 吾人可將某一類別內方法所發生的例外事件,歸納於某一例外物件內,在管理方面也許比較容易,則在主方法內捕抓例外事件 (try {…} catch () { …}),其他方法則將事件擲出即可,不用再 try .. catch 命令擷取,如以下語法,說明如下: (1) 在主方法內利用 try .. catch 擷取 Exception_1 例外事件。 (2) 方法 meth_1 與 meth_2 在 try 監視範圍內。 (3) 方法 meth_1 與 meth_2 在宣告語句內加入 throws Exception_1,表示有任何例外事件,則擲出到 Exception_1 物件內。 (4) 在方法監督事件發生就不需要 try … catch 捕抓,直接 throw new Exception_1 (“ Message”) 即可,其中 Message 表示顯示擲出訊息。 (5) 其中 Exception_1 例外物件必須是Exception 與 Error 類別下物件。
10-3-2 範例研討:throws ArithmeticException (A)程式範例:Ex10_4.java 吾人用一個範例(Ex10_4.java)來說明自訂擲出例外物件。在主方法內捕抓 ArithmeticException,其他方法則將例外事件丟到該物件內,程式範例如下:
(B)執行結果:
10-3-3 範例研討:throws IOException 目前非常普遍利用 Java 來開發應用程式,對於輸入/輸出處理最為頭痛,時常會發生例外事件。尤其最常見的 App或視窗的人機介面處理。Java 為了方便程式開發者,在 Java.io.IOException 套件裡宣告了許多例外事件,只要將它宣告擲入 (throws IOException),就不需要利用 try {…} 區塊來捕抓例外事件產生。 (A) 程式範例:Ex10_5.java 此範例係利用 try {….} 區塊來捕抓例外事件發生。程式功能是利用串流方式由檔案 test.txt 讀取資料,再依序輸出到螢幕上,如果 test.txt 不存在,則發生例外事件。程式範例如下:
(B) 執行結果: (1) 檔案不存在,則執行結果如下:
(2) 檔案存在,則執行結果如下:
(C) 程式範例:Ex10_6.java 如果,我們在方法前面宣告 throws IOException,則不須利用 try {….} 區塊來捕抓例外事件發生,程式範例如下:
(D) 執行結果: (1) 檔案不存在,則執行結果如下:
(2) 檔案存在,則執行結果如下:
|
翻轉工作室:粘添壽
Java 程式設計(二) 含物件導向
翻轉電子書系列:
|