java中catch ()_有关java中的try{}catch(){}的讲解
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/qq_38225558/article/details/82054100
try {
可能出現(xiàn)異常的代碼(包括不會(huì)出現(xiàn)異常的代碼)
} catch (Exception e) {? ? ? ? ? //()里為接收try{}代碼塊中出現(xiàn)異常的類型
如果出現(xiàn)異常時(shí)的處理方式
}
try-catch的執(zhí)行順序:
①?gòu)?try{ } 代碼塊中第一行開始執(zhí)行,執(zhí)行到出現(xiàn)異常的代碼,jvm會(huì)創(chuàng)建一個(gè)異常對(duì)象
②判斷catch中聲明的異常類型是否能捕捉到j(luò)vm創(chuàng)建的異常對(duì)象
i:? 能捕捉到:直接跳到catch代碼塊中執(zhí)行。 ?不會(huì)結(jié)束程序,繼續(xù)從catch代碼塊后面的代碼執(zhí)行
ii:? 不能捕捉到:直接打印異常信息并結(jié)束程序
③try{} 中沒有出現(xiàn)任何異常,把try中的所有代碼執(zhí)行完,跳過(guò)catch繼續(xù)程序
注意:
1.能被catch捕捉到的條件 ==》try中創(chuàng)建的異常對(duì)象的類型與catch中聲明的類型一致,或者是catch中聲明的類型的子類。
2.如果只有一個(gè)捕捉指定類型的catch 只能捕捉對(duì)應(yīng)類型的異常對(duì)象。 ?如果try中創(chuàng)建了其他類型的異常,捕捉不到。Jvm來(lái)處理異常
3.try{}代碼塊中存在多行代碼會(huì)拋出異常的情況下,遇到第一個(gè)異常,后面代碼的異常 只會(huì)被catch捕捉到異常信息但都將不會(huì)被執(zhí)行
4.那么我們?nèi)绾尾拍芴幚韙ry{}中的每一個(gè)異常呢??
①?寫多個(gè)catch :?每一個(gè)catch處理一種異常? ? ? ? ==>? ? try{ }catch(){ }catch(){ }catch(){ }
效果:當(dāng)try中出現(xiàn)了異常,直接跳到第一個(gè)catch處判斷,是否能捕捉。
a:能捕捉:直接處理。 ?然后跳過(guò)trycatch往后執(zhí)行
b:不能捕捉:跳到下一個(gè)catch繼續(xù)判斷。如果下一個(gè)能捕捉,重復(fù)第一步的效果
c:所有catch都不能捕捉 ==> 交給jvm處理:結(jié)束程序,在控制臺(tái)打印異常信息
② 寫一個(gè)catch? 要求:catch中的異常類型必須是try中拋出的所有異常的父類
注意事項(xiàng):寫多個(gè)catch時(shí),下邊的catch聲明的異常類型不能是上邊的catch聲明的子類。
多個(gè)catch時(shí),異常父類必須在下邊。? ?(沒有繼承關(guān)系時(shí),就不用考慮此情況)
try{? }catch(){? }catch(){? }...finally{? }? ? ? ? ? ? ? ? ???(catch可以有多個(gè),也可以沒有 ==》 try{ }finally{ })
特點(diǎn):寫在finally代碼塊中代碼,一定會(huì)被執(zhí)行到
注意:①執(zhí)行了?return? ? 也會(huì)執(zhí)行finally
②但 執(zhí)行 System.exit(0) ? 就不會(huì)再執(zhí)行finally了!!!
ex1: (此時(shí) Integer in = new Integer("1");? 不會(huì)出現(xiàn)異常的情況下)
ex2:?(此時(shí) Integer in = new Integer("A1");? 出現(xiàn)異常的情況下)
ex3:? 多個(gè)catch
ex4 :1個(gè)catch
ex5: return不影響finally{ }代碼塊中代碼的執(zhí)行
ex6 :? ? 執(zhí)行 System.exit(0)? ?==》 便不會(huì)再執(zhí)行finally{ }代碼塊中代碼
————————————————
版權(quán)聲明:本文為CSDN博主「鄭清」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38225558/article/details/82054100
【敬畏能量 敬畏自然】
總結(jié)
以上是生活随笔為你收集整理的java中catch ()_有关java中的try{}catch(){}的讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux内核udp校验和计算函数,Li
- 下一篇: 边缘检测robert原理_机器视觉尺寸检