201621123086 《Java程序設計》第10周學習總結
阿新 • • 發佈:2017-11-25
行處理 重要 我們 應用異常 throw 學習 final point all
3.1
1. 本周學習總結
- 因為finally子句總是會執行的,所以在一個方法中,可以從多個點返回,並且可以保證重要的清理工作仍舊會執行。
- 在調用構造器時,一般會用
finally
進行對象的清理。然而此時要註意如果構造器失敗並拋出異常,finally
是無法對其進行清理的。要多添加一層try-catch對於關閉進行處理。同樣,對於那些可以失敗的構造器如InputFlie
,我們要相應的添加一層try-catch。
2. 書面作業
1. 常用異常
1.1 自己以前編寫的代碼中經常出現什麽異常、需要捕獲嗎(為什麽)?應如何避免?
經常出現的有:
NullPointerException
——空指針異常ClassCastException
IndexOutOfBoundsException
——數組越界異常
不需要捕獲,因為這些異常屬於unchecked
異常。
想要避免這些異常,需要我們對於出現異常的情況進行特殊處理。典型如利用if語句進行類型、數組判斷。
1.2 什麽樣的異常要求用戶一定要使用捕獲處理?
Checked Exception
要求用戶一定要捕獲處理。運用try-catch或throws關鍵字對可能拋出的異常進行聲明
2. 處理異常使你的程序更加健壯
2.1 實驗總結。並回答:怎麽樣才能讓你的程序更加健壯?
- 實驗總結:在這道題中,我們通過將i++放入try子句中的最後一句,來避免數組中出現空元素,從而越過錯誤元素,將數組填滿。
- 答:合理地應用異常處理機制來使得程序更加健壯。例如此題中,我們可以通過異常處理機制將不符合要求類型的元素作為異常捕獲。
3. throw與throws
3.1 Integer.parsetInt
一開始就有大量的拋出異常的代碼,這種做法有什麽好處?
201621123086 《Java程序設計》第10周學習總結