JAVA異常處理捕獲與拋出原理解析
JAVA 異常
當代碼運行出現(xiàn)錯誤導致程序終止運行或出現(xiàn)錯誤情況的狀況,就是異常。異常不是指語法錯誤,即不屬于編譯錯誤,只有運行的程序才會有異常。
這個時候,JAVA 就提供了優(yōu)秀的處理方法:異常處理
異常處理能讓程序在異常發(fā)生時,按照異常處理設(shè)定的邏輯對異常進行處理,最大程度保證程序繼續(xù)運行,并且顯示并處理異常。
JAVA 程序發(fā)生異常,就會用對應(yīng)的異常類的對象來封裝異常,JRE(Java Runtime Environment) 便會尋找對應(yīng)的異常處理邏輯來處理該異常。
總的說來,異常處理機制就是,當 JAVA 異常出現(xiàn),會將其封裝成對象,JRE 會通過對象特點尋找已經(jīng)設(shè)定好的處理邏輯進行處理。
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)聽的代碼塊,當代碼塊出現(xiàn)異常,異常會被拋出
- catch: 用于捕獲 try 代碼塊的拋出的異常
- finally: 在異常拋出與捕獲之前執(zhí)行,主要用于回收 try 代碼塊里打開的資源(比如連接,文件等),如果 finally 代碼塊有終止語句,那么不會向后執(zhí)行
- throw: 拋出異常
- throws: 用于方法簽名中,聲明該方法可能拋出的異常
同時異常類很多,還可以通過繼承 Exception 類來自定義異常,同時還可以通過
assert 關(guān)鍵字進行斷言檢查(在命令行模式下運行Java程序時可增加參數(shù)-enableassertions或者-ea打開斷言??赏ㄟ^-disableassertions或者-da關(guān)閉斷言)。至于有哪些異常類,怎么用,就看文檔吧。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot JPA實現(xiàn)增刪改查、分頁、排序、事務(wù)操作等功能示例
本篇文章主要介紹了SpringBoot JPA實現(xiàn)增刪改查、分頁、排序、事務(wù)操作等功能示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)
這篇文章主要介紹了徹底解決IDEA中SpringBoot熱部署無效的問題,本文給大家?guī)韱栴}原因分析通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-09-09Elasticsearch寫入瓶頸導致skywalking大盤空白
這篇文章主要為大家介紹了Elasticsearch寫入瓶頸導致skywalking大盤空白的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02springboot對接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等
這篇文章主要介紹了springboot對接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01