JAVA異常處理捕獲與拋出原理解析
JAVA 異常
當代碼運行出現(xiàn)錯誤導致程序終止運行或出現(xiàn)錯誤情況的狀況,就是異常。異常不是指語法錯誤,即不屬于編譯錯誤,只有運行的程序才會有異常。
這個時候,JAVA 就提供了優(yōu)秀的處理方法:異常處理
異常處理能讓程序在異常發(fā)生時,按照異常處理設定的邏輯對異常進行處理,最大程度保證程序繼續(xù)運行,并且顯示并處理異常。
JAVA 程序發(fā)生異常,就會用對應的異常類的對象來封裝異常,JRE(Java Runtime Environment) 便會尋找對應的異常處理邏輯來處理該異常。
總的說來,異常處理機制就是,當 JAVA 異常出現(xiàn),會將其封裝成對象,JRE 會通過對象特點尋找已經(jīng)設定好的處理邏輯進行處理。
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 關鍵字進行斷言檢查(在命令行模式下運行Java程序時可增加參數(shù)-enableassertions或者-ea打開斷言??赏ㄟ^-disableassertions或者-da關閉斷言)。至于有哪些異常類,怎么用,就看文檔吧。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
淺析Spring配置中的classpath:與classpath*:的區(qū)別
這篇文章主要介紹了Spring配置中的"classpath:"與"classpath*:"的區(qū)別,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
SpringBoot服務端數(shù)據(jù)校驗過程詳解
這篇文章主要介紹了SpringBoot服務端數(shù)據(jù)校驗過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02
java優(yōu)先隊列PriorityQueue中Comparator的用法詳解
這篇文章主要介紹了java優(yōu)先隊列PriorityQueue中Comparator的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02
SpringBoot使用自動配置xxxAutoConfiguration
這篇文章介紹了SpringBoot自動配置xxxAutoConfiguration的使用方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-12-12
webservice實現(xiàn)springboot項目間接口調用與對象傳遞示例
本文主要介紹了webservice實現(xiàn)springboot項目間接口調用與對象傳遞示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07

