異常處理
一、異常基本介紹
概念:將程式中發生的不正常情況稱為「異常」,異常分為兩類:運行時異常和編譯時異常
二、異常體系圖
三、異常處理方式
一、try…catch…finally
程式設計師在程式碼中捕獲發生的異常,然後自行處理,處理機制:
沒有finally的異常捕獲方式
二、throws
將發生的異常拋出,交給調用者來處理,最頂級的處理著就是JVM,處理機制:
1、如果一個方法在執行中可能生成異常,但不確定如何處理這種異常,則此方法應顯示的聲明拋出異常,表明該方法將不對這些異常進行處理,而由該方法的調用者負責處理
2、在方法聲明中用throws語句可以聲明拋出異常的列表,throws後面的異常類型可以是方法中產生的異常類型,也可以是他的父類
三、使用細節
- 對於編譯異常,程式必須處理
- 對於運行時異常,程式如果沒有處理,默認就是throws的處理方式
- 子類重寫父類方法的時候,對拋出異常的規定:子類重寫的方法,所拋出的異常類型要麼和父類拋出的一致,要麼為父類拋出的異常類型的子類型
- 在throws過程中,如果有方法try…catch,就相當於處理異常,不必使用throws
四、自定義異常
當程式中出現了某些錯誤,但該錯誤資訊並沒有在throwable子類中處理,這個時候可以自己設計異常類,用於描述該錯誤資訊
一、自定義異常步驟
- 定義類,自定義異常類名繼承Exception或者RuntimeException
- 如果繼承Exception,則屬於編譯異常
- 如果繼承RuntimeException,則屬於運行異常