異常是由於系統觸發,或者程序通過throw語句觸發,引發的退出機制。
異常類Throwable,是異常類的總父類。它有4個構造方法:
public Throwable();
public Throwable(String message)
public Throwable(String message,Throwable cause)
public Throwable(Throwable cause)
兩個參數message表示異常消息,cause表示觸發該異常的其他異常,因爲異常可以形成異常鏈,上層的異常由底層的異常觸發。
Throwable有兩個子類Error和Exception
Error表示系統錯誤或資源耗盡,主要包括三個類型,虛擬機錯誤,內存溢出錯誤,棧溢出錯誤。
Exception表示應用程序錯誤,它有三個直接子類,IOException,SQLException,RuntimeException。
運行時異常包括兩種,未受檢異常,受檢異常。
受檢異常是必須要處理的,否則會有編譯的錯誤。
自定義異常要通過繼承Exception來實現,自定義異常類繼承了父類的方法,加以豐富,最後再調用父類的同名方法。
異常可以通過try/catch來捕獲,catch可以有多條,程序依次跳轉每個catch找到匹配的異常子類執行,如果找到可以匹配的異常子類後就不執行其他的異常跳轉了。
跳轉到catch內後可以重新通過創建異常對象來重新拋出異常。