java基礎 ---異常處理
什麼是異常?
異常定義:異常是一個在程序執行期間發生的事件,它中斷正在執行的程序的正常的指令流。也就是說異常是在程序運行期間發生的錯誤,而這個錯誤會導致程序的中斷,異常並非是一般的語法錯誤,並且異常在編譯時編譯器並不能檢查到這些錯誤。處理這些異常稱之爲異常處理。比如除0,數組下標越界等等就屬於異常的範圍,他們只有在程序運行期間纔會發生錯誤。
異常處理三種形式
1、拋出的異常和捕獲的異常是同一個對象。
2、拋出的異常是捕獲異常的子類。
3、拋出的異常是捕獲異常的接口。
異常處理的基本用法。
try{
//可能拋出異常的語句塊
}
catch(捕獲異常的類型){
//不過異常後執行的語句快
}
finally{
//無論try語句是否有異常,finnally裏的語句都會被執行
}
當try裏有return語句的時候,執行的順序是如果try語句裏拋出異常,那麼就會先執行catch裏的語句,然後再執行finally裏的語句,最後執行try語句裏的return。
在方法後面加上throws Exception,那麼在調用該方法的時候再進行異常的處理。比如:
class MyException extends Exception{}
public class ThrowException{
public f() throws Exception{
throw new MyException();
}
public static void main(String[] args){
try{
f();
}
catch(Exception e){
System.out.println("in catch");
}
}
}
上面一段代碼中定義f()方法時拋出了Exception異常,在main()中try語句調用f()方法時,首先會拋出一個myException類的對象,這個類繼承Exception類。那麼此時f()也會拋出一個Exception的異常,並由catch進行捕獲。throws是拋出一個異常類,並用於定義方法的後面,由調用該方法的語句進行異常處理,方法內部不做任何的處理。throw是拋出一個異常類的對象,並由catch語句進行捕獲。