try{
//正常業(yè)務(wù)
}catch(異常1 e1){ //0-n個(gè)catch塊
//處理異常1
}catch(異常2 e2){
//處理異常2
}finally{ 0-1個(gè)finally塊 ?【catch和finally至少有一個(gè)】
//通常用于回收資源
}
JDK7提供新功能:多異常捕捉
try{
//正常業(yè)務(wù)
}catch(異常1 | 異常2 e1){
//處理異常1,2
}catch(異常3 e3){
//處理異常3
}finally{ 0-1個(gè)finally塊? 【catch和finally至少有一個(gè)】
}
【異常處理可以嵌套】
catch和finally里都可以嵌套try-catch-finally
異常處理機(jī)制:
1竞帽、try塊出現(xiàn)異常時(shí)家卖,系統(tǒng)生成一個(gè)異常類對(duì)象
2、異常比較catch的異常對(duì)象instanceof()返回true就執(zhí)行catch塊代碼,將系統(tǒng)生成的異常類對(duì)象傳給catch做形參
【異常對(duì)象的方法】--getMessage() 異常信息
--printStackTrace()異常的跟蹤棧吸占,程序排錯(cuò)時(shí)從“第一個(gè)”出錯(cuò)的位置進(jìn)行修改
3、一個(gè)異常只能被一個(gè)cathc塊捕捉
4栅受、多個(gè)catch塊捕捉異常短条,應(yīng)該先捕捉小異常(子類異常)再捕捉大異常(父類)
5汉规、finally總是會(huì)執(zhí)行礼殊,不管是否發(fā)生異常,若try塊有return鲫忍,先執(zhí)行finally塊再執(zhí)行try塊的return膏燕,return結(jié)果不變,如果finally塊里有return悟民,則由finally的return結(jié)束方法