1. 程式人生 > >java異常處理

java異常處理

並不是 9.png 代碼塊 可能 函數 處理異常 finall int 將不

一 異常:

是指程序運行的過程中,發生某些意外的事情,比如10除以0, 文件不存在等。

例如: public class AMAS {

public void test333(){
System.out.println("運行前");
int a=10/0;
System.out.println("運行後");

}
public static void main(String[] args) throws Exception{
AMAS c=new AMAS();
c.test333();

}

}

二 異常的體系

Throwable類有兩個直接子類:Exception類、Error類。

異常分為運行期異常和編譯期異常兩種

技術分享

try的定義及使用

try塊中任何一條語句發生了異常,下面的代碼將不會被執行,程序將跳轉到異常處理代碼塊中,即catch塊。因此,不要隨意將不相關的代碼放到try塊中,因為隨時可能會中斷執行。

catch的定義及使用

catch語句必須緊跟著try語句之後,稱為捕獲異常,也就是異常處理函數,一個try後面可以寫多個catch,分別捕獲不同類型的異常,要從子類往父類的順序寫,否則有編譯錯誤

finally的定義及使用

finally該內容總是會執行的,只能有一個finally語句

throw

關鍵字throw用於顯式拋出異常 拋除異常後處理 使用try-catch捕獲異常 使用throws聲明異常 語法 throw new 異常類構造方法; 例如:throw new Exception();

throws

用於方法聲明處,指出方法引發的異常。 可以聲明多種異常類型,用逗號分開即可。

層層拋出異常

catch語句中,處理異常後,再次用throw拋出該異常對象 繼續拋出異常的作用:使得調用該方法的方法,能夠再一次捕獲並處理異常。

例如:

public class SDjAVA {
public static void KK(boolean isthrow)throws Exception{
System.out.println("進入kk-----");
try{
if(isthrow){
throw new Exception();
}
}catch(Exception e){
System.out.println("出了異常繼續拋");

throw e;
}
System.out.println("正常運行了");

}
public static void main(String[] args) {
try{
KK(true);
}catch(Exception e){
System.out.println("出錯了");
}

}

}

throw用於方法體中,用來拋出一個實際的異常對象,使用throw後,要麽使用try catch捕獲異常,要麽使用throws聲明異常。

throws用於方法聲明處,用來聲明該方法可能發生的異常類型,可以是多個異常類型,用來強制調用該方法時處理這些異常。

抽象方法也可以使用throws,所以說並不是有throw才有throws。

如果使用throw關鍵字拋異常,一定不要使用Exception,不能很好標記異常類型。

java異常處理