1. 程式人生 > >異常簡述(一)

異常簡述(一)

                  
層次結構:
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.方法丟擲的是受查異常,那麼呼叫者必須去捕獲丟擲的異常,否則編譯都通不過。