【java學習之再遇異常處理】

我是太陽啦啦啦發表於2017-03-05

前言

異常處理,相信我們大家都不陌生,這次學習java,對異常處理較之前的學習來說,深入一層,哈哈,這也是之前對異常處理沒有深入的學習和研究的結果。今天,請隨小編一起來再次走入異常處理的學習!走下文!

核心

概念:

無論學習什麼?都需要從概念入手:

  • Java異常是java提供的用於處理程式中錯誤的一種機制
  • 這裡的所說的錯誤是什麼呢?所謂的錯誤是指程式執行的過程中發生的一些異常事件:如陣列下標越界,所要讀取的檔案不存在等等
  • 設計良好的程式應該在異常發生時提供處理這些錯誤的方法,使得程式不會因為異常的發生而阻斷或產生不可預見的結果。
  • java程式的執行過程中如出現異常事件,可以生成一個異常類物件,該異常物件封裝了異常事件的資訊並將被提交給java執行時系統,這個過程稱為丟擲異常。
  • 當java執行時系統收到異常物件時,會尋找能處理這一異常的程式碼並把當前物件交給其處理,這一過程稱為捕獲異常

分類:

 

說明:異常分為兩類:一類是錯誤,系統本身爆出,另一類是異常,異常分為必須處理和不必須處理的異常:

Error:錯誤,由java虛擬機器生成並丟擲,包括動態連結失敗、虛擬機器錯誤等,程式對其不做處理

Exception:異常的父類,期子類對應了各種各樣可能出現的異常事件,一般需要使用者顯示的宣告或捕獲

RuntimeException:一類特殊的異常,如陣列下標越界等等,其產生比較頻繁,處理麻煩,如果顯示的宣告將會對程式可讀性和執行效率影響很大,因此係統自動檢測並將它們交給預設的異常處理程式(使用者可不必須對其進行處理)

異常的處理和捕獲:

try{
//可能丟擲異常的語句
} catch(SomeException1 e)
{
   …………//宣告其能處理的一種特定的一種特定型別的異常並提供處理的方法
}catch(SomeException2 e)
{
   …………
} finally {
   …………//無論是否發生異常都會實現
}


說明:try程式碼後面跟有一個或者多個catch;當異常發生時,程式會中止當前的流程,根據獲取異常的型別去執行相應的catch程式碼段。

說明方法丟擲的異常:

自定義異常步驟:

1.通過繼承java.lang.Exception類宣告自己的異常類

2.在方法適當的位置生成自定義異常的例項,並用throw語句丟擲

3.在方法的宣告部分用throws語句宣告該方法可能丟擲的異常。

注意:重寫方法需要丟擲與原方法所丟擲異常型別一致異常或者不丟擲異常。

總結

知識的學習在不斷的提升,前進的道路,加油!

相關文章