異常


Throwable java中所有異常的父類

派生兩個(gè)子類,Error和Exception

try-catch
try{…}用于檢測(cè)異常

jvm

  • 1:當(dāng)運(yùn)行str.length()時(shí)發(fā)現(xiàn)string 是null
  • 2:jvm實(shí)例化了一個(gè)NullPointerException的實(shí)例
  • 3:將程序執(zhí)行過(guò)程的詳細(xì)信息設(shè)置到該異常實(shí)例中
  • 4:將其在string.length()這個(gè)位置拋出該異常實(shí)例
  • 5:查看出錯(cuò)的方法string.length()是否被try語(yǔ)句包含
  • 6:如果沒(méi)有被try語(yǔ)句包含,jvm會(huì)將該異常向string.length()所在的方法之外拋出若拋出到main方法之外,那么該程序終止
  • 7:若被try語(yǔ)句包圍,順序調(diào)用try下面的catch查看哪個(gè)catch可以捕獲該異常,若有則進(jìn)入catch內(nèi)部來(lái)執(zhí)行處理代碼的片段,否則和第6步相同

finally應(yīng)該是發(fā)生在異常捕獲的最后一步,寫在最后一個(gè)catch之后
finally是無(wú)條件執(zhí)行的,不管有沒(méi)有出錯(cuò),都會(huì)執(zhí)行

finally可以寫在try下面,不關(guān)注異常的解決,必須得執(zhí)行finally。

throw
1:異常不應(yīng)該在當(dāng)前代碼中處理
2:程序出現(xiàn)非語(yǔ)法錯(cuò)誤,但是不滿足業(yè)務(wù)邏輯

throws
就是丑話說(shuō)前面
main方法不要寫throws!

1:重寫方法是可以不throws拋出任何異常
2:可以拋出父類部分異常
3:可以拋出父類拋出的異常的子類異常
FileNotFoundException是IOException的子類

1:不允許拋出額外異常
2:不允許拋出父類拋出異常的父類異常

自定義異常

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

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

  • Java異常類型 所有異常類型都是Throwable的子類,Throwable把異常分成兩個(gè)不同分支的子類Erro...
    予別她閱讀 1,028評(píng)論 0 2
  • 通俗編程——白話JAVA異常機(jī)制 - 代碼之道,編程之法 - 博客頻道 - CSDN.NEThttp://blog...
    葡萄喃喃囈語(yǔ)閱讀 3,325評(píng)論 0 25
  • 初識(shí)異常(Exception) 比如我們?cè)谌?shù)組里面的某個(gè)值得時(shí)候,經(jīng)常會(huì)出現(xiàn)定義的取值范圍超過(guò)了數(shù)組的大小,那么...
    iDaniel閱讀 1,966評(píng)論 1 2
  • 春天來(lái)了,很多病毒在空氣中蔓延,生病的也就多了,很多人抱怨是自己體質(zhì)差所以容易得病。就我看來(lái),只要你愿意,體質(zhì)完全...
    跟著寶寶一起成長(zhǎng)閱讀 382評(píng)論 0 4
  • 如果我自己的世界一片灰暗狼藉,如果我多些經(jīng)歷,也許能理解你的孤寡。但此刻,我得坦誠(chéng),我突然討厭你那永遠(yuǎn)陰翳的面龐。...
    一個(gè)沒(méi)有什么故事的人閱讀 111評(píng)論 0 0

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