Java 異常的知識(shí)整理
Java 異常
1.繼承關(guān)系

2.Error
程序運(yùn)行時(shí)發(fā)生的無(wú)法被處理的錯(cuò)誤,一旦發(fā)生,JVM終止執(zhí)行。
3.Exception
Exception是程序編譯與運(yùn)行時(shí)出現(xiàn)的一種錯(cuò)誤,一旦出現(xiàn),JVM將告知程序員處理。
分為兩種:
運(yùn)行時(shí)異常:在運(yùn)行時(shí)發(fā)生,RuntimeException類及子類。編譯時(shí)不需要處理,發(fā)生在運(yùn)行階段。常見的有NullPointerException\StringIndexOutOfBounds \ClassCastException \ArrayIndexOutOfBounds。
編譯時(shí)異常(受查異常):代碼編寫時(shí)必須處理的異常,若不處理,編譯無(wú)法通過(guò)。編譯時(shí)異常在編譯代碼階段設(shè)置了處理措施,所以即使發(fā)生異常,可能也不會(huì)影響程序的正常運(yùn)行,有些系統(tǒng)因此將編譯時(shí)異常視作正常情況處理,比如Spring默認(rèn)發(fā)生
編譯時(shí)異常時(shí)正常提交。在程序中顯式地拋出異常相當(dāng)于編譯階段必須處理的異常,屬于編譯時(shí)異常。常見的有ClassNotFoundException \FileNotFounException\ParseException\SQLException\IOException。
兩種異常劃分的依據(jù)是實(shí)際發(fā)生的概率,JVM將發(fā)生幾率高的異常當(dāng)做受查異常,要求程序員在編寫代碼時(shí)處理,而運(yùn)行時(shí)異常JVM認(rèn)為發(fā)生幾率很低,不需要程序員處理。
4.try...catch...finally...
用于在方法內(nèi)部捕獲并處理異常。
將可能發(fā)生異常的語(yǔ)句塊放在try后,異常發(fā)生時(shí)try語(yǔ)句塊停止執(zhí)行,跳到catch語(yǔ)句塊執(zhí)行,catch語(yǔ)句塊執(zhí)行完畢,將繼續(xù)執(zhí)行catch語(yǔ)句塊后面的代碼。
無(wú)論是否發(fā)生異常,finally語(yǔ)句塊都會(huì)執(zhí)行,通常將關(guān)閉資源的代碼放在其中。
5.自定義異常
繼承Exception,在指定條件下拋出異常"throw MyException(xxxx)",目的是詳細(xì)地反映程序運(yùn)行狀況。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
實(shí)體類或?qū)ο笮蛄谢瘯r(shí),忽略為空屬性的操作
這篇文章主要介紹了實(shí)體類或?qū)ο笮蛄谢瘯r(shí),忽略為空屬性的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
img 加載網(wǎng)絡(luò)圖片失敗 顯示默認(rèn)圖片的方法
下面小編就為大家?guī)?lái)一篇img 加載網(wǎng)絡(luò)圖片失敗 顯示默認(rèn)圖片的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Java中BigDecimal比較大小的3種方法(??compareTo()、??equals()??和??compar
這篇文章主要給大家介紹了關(guān)于Java中BigDecimal比較大小的3種方法,方法分別是??compareTo()、??equals()??和??compareTo()??,在Java中使用BigDecimal類來(lái)進(jìn)行精確的數(shù)值計(jì)算,需要的朋友可以參考下2023-11-11
java排查進(jìn)程占用系統(tǒng)內(nèi)存高方法
這篇文章主要為大家介紹了java進(jìn)程占用系統(tǒng)內(nèi)存高排查方法,2023-06-06
基于SpringBoot實(shí)現(xiàn)發(fā)送帶附件的郵件
這篇文章主要介紹了基于SpringBoot實(shí)現(xiàn)發(fā)送帶附件的郵件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
IDEA連接mysql數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決方法
這篇文章主要介紹了IDEA連接mysql數(shù)據(jù)庫(kù)報(bào)錯(cuò)的解決方法,文中有非常詳細(xì)的圖文示例,對(duì)出現(xiàn)Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope報(bào)錯(cuò)的小伙伴們很有幫助喲,需要的朋友可以參考下2021-05-05

