JAVA異常處理捕獲與拋出原理解析
JAVA 異常
當(dāng)代碼運(yùn)行出現(xiàn)錯(cuò)誤導(dǎo)致程序終止運(yùn)行或出現(xiàn)錯(cuò)誤情況的狀況,就是異常。異常不是指語法錯(cuò)誤,即不屬于編譯錯(cuò)誤,只有運(yùn)行的程序才會有異常。
這個(gè)時(shí)候,JAVA 就提供了優(yōu)秀的處理方法:異常處理異常處理能讓程序在異常發(fā)生時(shí),按照異常處理設(shè)定的邏輯對異常進(jìn)行處理,最大程度保證程序繼續(xù)運(yùn)行,并且顯示并處理異常。
JAVA 程序發(fā)生異常,就會用對應(yīng)的異常類的對象來封裝異常,JRE(Java Runtime Environment) 便會尋找對應(yīng)的異常處理邏輯來處理該異常。
總的說來,異常處理機(jī)制就是,當(dāng) JAVA 異常出現(xiàn),會將其封裝成對象,JRE 會通過對象特點(diǎn)尋找已經(jīng)設(shè)定好的處理邏輯進(jìn)行處理。
JAVA 異常處理方式
try...catch...finally (有單catch和多catch處理方式,執(zhí)行邏輯基本相同,finally 可要可不要)
public class Try{ public static void test(){ try { } catch (Exception e) { //TODO: handle exception } finally{ //TODO: recycle } }} try: 置放需要監(jiān)聽的代碼塊,當(dāng)代碼塊出現(xiàn)異常,異常會被拋出 catch: 用于捕獲 try 代碼塊的拋出的異常 finally: 在異常拋出與捕獲之前執(zhí)行,主要用于回收 try 代碼塊里打開的資源(比如連接,文件等),如果 finally 代碼塊有終止語句,那么不會向后執(zhí)行 throw: 拋出異常 throws: 用于方法簽名中,聲明該方法可能拋出的異常
同時(shí)異常類很多,還可以通過繼承 Exception 類來自定義異常,同時(shí)還可以通過assert 關(guān)鍵字進(jìn)行斷言檢查(在命令行模式下運(yùn)行Java程序時(shí)可增加參數(shù)-enableassertions或者-ea打開斷言。可通過-disableassertions或者-da關(guān)閉斷言)。至于有哪些異常類,怎么用,就看文檔吧。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA恢復(fù)刪除文件的方法2. CSS3中Transition屬性詳解以及示例分享3. jsp 實(shí)現(xiàn)的簡易mvc模式示例4. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題5. layui Ajax請求給下拉框賦值的實(shí)例6. 詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法7. IntelliJ IDEA 2020最新激活碼(親測有效,可激活至 2089 年)8. uniapp+.net core實(shí)現(xiàn)微信小程序獲取手機(jī)號功能9. 《CSS3實(shí)戰(zhàn)》筆記--漸變設(shè)計(jì)(二)10. ASP.NET MVC限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)的請求次數(shù)
