0807java異常總結(jié)

一、Java的異常處理是通過5個關(guān)鍵字來實(shí)現(xiàn)的:try、catch、 finally、throw、throws

1、捕獲異常:

try:執(zhí)行可能產(chǎn)生的異常代碼

catch:捕獲異常

finally:無論發(fā)生什么異常,代碼都執(zhí)行

2、聲明異常:

throws:聲明方法可能要拋出的各種異常

3、拋出異常:

throw:手動拋出異常

二、常見的異常類型:

Exception???????????????????????????? ? ? ? ? ?????????? 異常父類

ArithmeticException????????????????????????????? 算術(shù)錯誤情形,如以0作為參數(shù)

ArrayIndexOutOfBoundsException????? 數(shù)組下標(biāo)越界

NullPointerException??????????????????????????? 空指針異常

ClassNotFoundException??????????????????? 不能加載的類

IllegalArgumentException??????????????????? 方法接收到非法參數(shù)

ClassCastException???????????????????????????? 對象強(qiáng)制轉(zhuǎn)換類型出錯

NumberFormatException????????????????????? 數(shù)字格式轉(zhuǎn)換異常,如把“abc”換成數(shù)字

三、finally唯一不執(zhí)行的情況

除非在try塊或者catch塊中調(diào)用了退出虛擬機(jī)的方法(即System.exit(1);),否則不管在try塊、catch塊中執(zhí)行怎樣的代碼,出現(xiàn)怎樣的情況,異常處理的finally塊總是會被執(zhí)行的。

當(dāng)程序執(zhí)行try塊,catch塊時遇到return語句或者throw語句,這兩個語句都會導(dǎo)致該方法立即結(jié)束,所以系統(tǒng)并不會立即執(zhí)行這兩個語句,而是

去尋找該異常處理流程中的finally塊,如果沒有finally塊,程序立即執(zhí)行return語句或者throw語句,方法終止。如果有

finally塊,系統(tǒng)立即開始執(zhí)行finally塊,只有當(dāng)finally塊執(zhí)行完成后,系統(tǒng)才會再次跳回來執(zhí)行try塊、catch塊里的

return或throw語句,如果finally塊里也使用了return或throw等導(dǎo)致方法終止的語句,則finally塊已經(jīng)終止了方法,不用再跳回去執(zhí)行try塊、catch塊里的任何代碼了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,853評論 18 399
  • Java異常類型 所有異常類型都是Throwable的子類,Throwable把異常分成兩個不同分支的子類Erro...
    予別她閱讀 1,041評論 0 2
  • 初識異常(Exception) 比如我們在取數(shù)組里面的某個值得時候,經(jīng)常會出現(xiàn)定義的取值范圍超過了數(shù)組的大小,那么...
    iDaniel閱讀 1,982評論 1 2
  • 異常處理機(jī)制 異常處理模型:終止模型:當(dāng)異常發(fā)生時,就進(jìn)入異常處理程序,處理結(jié)束并不返回異常發(fā)生位置繼續(xù)執(zhí)行;恢復(fù)...
    LilacZiyun閱讀 523評論 0 2
  • *先說重點(diǎn),獲取手機(jī)語言網(wǎng)上搜了半天,都是能夠中英互換,并沒有獲取手機(jī)語言。。。翻墻后,終于找到辦法:naviga...
    一只飛閱讀 1,616評論 0 0

友情鏈接更多精彩內(nèi)容