1鞠绰、Java異常體系結(jié)構(gòu)簡(jiǎn)介
2、try-catch 以及try-catch-finally
4灭袁、拋出異常
5猬错、自定義異常
6、異常鏈
1茸歧、Java異常體系結(jié)構(gòu)簡(jiǎn)介
java中的所有異常都繼承與Throwable。他有兩個(gè)子類Error 和 Exception(編碼显沈、環(huán)境软瞎、輸入)
- Exception有兩類
Runtime Exception (運(yùn)行時(shí)異常)
運(yùn)行時(shí)異常有JVM自動(dòng)拋出逢唤,并自動(dòng)捕獲,運(yùn)行時(shí)異常的出現(xiàn)說(shuō)明代碼本身有問(wèn)題涤浇,應(yīng)該從邏輯上去改進(jìn)代碼鳖藕。
- 檢查異常
2、try-catch 以及try-catch-finally
- 基本語(yǔ)法
try{
//一些會(huì)拋出異常的方法
}catch(Exception e){
e.printStackTrace();
//處理該異常的代碼塊
}
當(dāng)try塊中拋出很多不同類型的異常只锭,同一個(gè)catch塊只能處理某一種異常著恩,這時(shí)候就需要多重catch,如下:
try{
//一些會(huì)拋出異常的方法
}catch(Exception e){
//處理Exception異常的代碼塊
}catch(Exception2 e){
//處理Exception2 異常的代碼塊
}
- catch語(yǔ)句塊的注意事項(xiàng):
順序問(wèn)題蜻展,要按照先小后大(異常處理程序會(huì)就近原則選擇異常處理catch塊
- finally善后工作
try{
//一些會(huì)拋出異常的方法
}catch(Exception e){
//處理Exception異常的代碼塊
}catch(Exception2 e){
//處理Exception2 異常的代碼塊
}finally{
//最終將要執(zhí)行的一些代碼
}
- 異常分析
java中的異常拋出
throw
—— 將產(chǎn)生的異常拋出(動(dòng)作)
throws
—— 聲明將要拋出何種類型的異常(聲明)
public void 方法名(參數(shù)列表) throws 異常列表{
//調(diào)用會(huì)拋出異常的方法或者:throw new Exception();
}
java中的自定義異常
語(yǔ)法:
修飾符 class 自定義異常類 extends 異常類型{
}
例子:
package com.test.XX;
public class OwnerException extends Exception{
public OwnerException(){
}
public OwnerException(String message){
super(message);
}