異常簡述(一)
阿新 • • 發佈:2019-01-02
層次結構:
Throwable
——Exception
——IOEception
——RuntimeException
——ArrayIndexOutOfBoundsException
——Error
受查異常:在編譯的時候必須處理,不處理編譯通不過(往往在程式碼控制能力之外的因素,比如訪問的檔案不存在)
非受查異常:可以在編譯的時候不處理,編譯通過,但在執行的時候可能出錯導致程式中斷,往往是是程式編寫的問題導致,比如分母為0;
try{
可能出錯的程式程式碼
}catch(異常型別 e){
}[可以有多個catch]
finally
{
(不管有沒有異常都會執行主要用來釋放資源)
}
注意:我們可以直接用一個異常的父型別進行捕獲所有的子異常(多型),記住,先具體的異常捕獲再通用的捕獲;
finally可以省略;
try可以和catch一起使用,也可以和finally一起使用;
finally在return之前先執行。
當結束程序的時候System.exit(0) 結束程序 finally就不會執行了。
throw:手動丟擲一場,往往在方法中的任意位置丟擲一個異常。
throws:用來修飾方法的,告知呼叫者我這個方法可能會拋異常。
1.方法丟擲的是非受查異常,呼叫者可以不捕獲,但不推薦,最好呼叫者去捕獲方法告知的異常,防止程式中斷。
2.方法丟擲的是受查異常,那麼呼叫者必須去捕獲丟擲的異常,否則編譯都通不過。