1. 程式人生 > >201621123086 《Java程序設計》第10周學習總結

201621123086 《Java程序設計》第10周學習總結

行處理 重要 我們 應用異常 throw 學習 final point all

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周學習總結