異常處理

一、異常基本介紹

概念:將程式中發生的不正常情況稱為「異常」,異常分為兩類:運行時異常和編譯時異常

二、異常體系圖

三、異常處理方式

一、try…catch…finally

程式設計師在程式碼中捕獲發生的異常,然後自行處理,處理機制:

沒有finally的異常捕獲方式

二、throws

將發生的異常拋出,交給調用者來處理,最頂級的處理著就是JVM,處理機制:

1、如果一個方法在執行中可能生成異常,但不確定如何處理這種異常,則此方法應顯示的聲明拋出異常,表明該方法將不對這些異常進行處理,而由該方法的調用者負責處理
2、在方法聲明中用throws語句可以聲明拋出異常的列表,throws後面的異常類型可以是方法中產生的異常類型,也可以是他的父類

三、使用細節

  1. 對於編譯異常,程式必須處理
  2. 對於運行時異常,程式如果沒有處理,默認就是throws的處理方式
  3. 子類重寫父類方法的時候,對拋出異常的規定:子類重寫的方法,所拋出的異常類型要麼和父類拋出的一致,要麼為父類拋出的異常類型的子類型
  4. 在throws過程中,如果有方法try…catch,就相當於處理異常,不必使用throws

四、自定義異常

當程式中出現了某些錯誤,但該錯誤資訊並沒有在throwable子類中處理,這個時候可以自己設計異常類,用於描述該錯誤資訊

一、自定義異常步驟

  1. 定義類,自定義異常類名繼承Exception或者RuntimeException
  2. 如果繼承Exception,則屬於編譯異常
  3. 如果繼承RuntimeException,則屬於運行異常

二、throw和throws區別