JAVA異常處理捕獲與拋出原理解析
JAVA 異常
當(dāng)代碼運(yùn)行出現(xiàn)錯(cuò)誤導(dǎo)致程序終止運(yùn)行或出現(xiàn)錯(cuò)誤情況的狀況,就是異常。異常不是指語(yǔ)法錯(cuò)誤,即不屬于編譯錯(cuò)誤,只有運(yùn)行的程序才會(huì)有異常。
這個(gè)時(shí)候,JAVA 就提供了優(yōu)秀的處理方法:異常處理異常處理能讓程序在異常發(fā)生時(shí),按照異常處理設(shè)定的邏輯對(duì)異常進(jìn)行處理,最大程度保證程序繼續(xù)運(yùn)行,并且顯示并處理異常。
JAVA 程序發(fā)生異常,就會(huì)用對(duì)應(yīng)的異常類(lèi)的對(duì)象來(lái)封裝異常,JRE(Java Runtime Environment) 便會(huì)尋找對(duì)應(yīng)的異常處理邏輯來(lái)處理該異常。
總的說(shuō)來(lái),異常處理機(jī)制就是,當(dāng) JAVA 異常出現(xiàn),會(huì)將其封裝成對(duì)象,JRE 會(huì)通過(guò)對(duì)象特點(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)聽(tīng)的代碼塊,當(dāng)代碼塊出現(xiàn)異常,異常會(huì)被拋出 catch: 用于捕獲 try 代碼塊的拋出的異常 finally: 在異常拋出與捕獲之前執(zhí)行,主要用于回收 try 代碼塊里打開(kāi)的資源(比如連接,文件等),如果 finally 代碼塊有終止語(yǔ)句,那么不會(huì)向后執(zhí)行 throw: 拋出異常 throws: 用于方法簽名中,聲明該方法可能拋出的異常
同時(shí)異常類(lèi)很多,還可以通過(guò)繼承 Exception 類(lèi)來(lái)自定義異常,同時(shí)還可以通過(guò)assert 關(guān)鍵字進(jìn)行斷言檢查(在命令行模式下運(yùn)行Java程序時(shí)可增加參數(shù)-enableassertions或者-ea打開(kāi)斷言。可通過(guò)-disableassertions或者-da關(guān)閉斷言)。至于有哪些異常類(lèi),怎么用,就看文檔吧。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 如何利用python操作注冊(cè)表2. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. jsp文件下載功能實(shí)現(xiàn)代碼4. 詳解瀏覽器的緩存機(jī)制5. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享6. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器7. phpstudy apache開(kāi)啟ssi使用詳解8. vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令9. 如何在jsp界面中插入圖片10. JSP之表單提交get和post的區(qū)別詳解及實(shí)例
