最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java異常級(jí)別與捕獲的示例代碼

 更新時(shí)間:2021年07月11日 11:31:05   作者:G_whang  
本次模擬一個(gè)異常實(shí)例,驗(yàn)證一下異常的捕獲,通過實(shí)例代碼給大家解析java異常級(jí)別與捕獲的操作方法,感興趣的朋友跟隨小編一起看看吧

這個(gè)是jdk 1.8文檔中異常的種族描述

在這里插入圖片描述

可以看出Java異常體系的根類是 Throwable, 當(dāng)在java代碼中寫throw拋出異常時(shí),后面跟的對(duì)象必然是Throwable或其子類的對(duì)象。
然后往下又分為 Exception(異常) 和 Error

其中Exception異常是指一些可以恢復(fù)的異常, 例如常見的NullPointerException空指針異常。

Error指的是一些致命的錯(cuò)誤,無法通過程序代碼手段恢復(fù)的異常,例如OutOfMemoryError內(nèi)存溢出錯(cuò)誤。

如果能善用異常機(jī)制那么代碼使用就會(huì)大大提高

本次模擬一個(gè)異常實(shí)例,驗(yàn)證一下異常的捕獲
代碼如下

public class ExceptionTest {

    public static void main(String[] args) {

        try{
            int i = subtraction();
            System.out.println(i);
        }catch (Exception e){
            System.out.println("異常 Exception 被捕獲 異常信息為:"+e);
            e.printStackTrace();
        }

    }

    public static int subtraction(){
        int result = 0;
        try {
             result = 10 / 0;
        }catch (RuntimeException e){
            System.out.println("運(yùn)行異常 RuntimeException 被捕獲 異常信息"+e);
            throw new RuntimeException("運(yùn)行異常");
        }
        return result;
    }

}

我在調(diào)用一個(gè)方法的時(shí)候,該方法會(huì)拋出一個(gè)runtimeException 異常
然后我調(diào)用此方法的程序可能會(huì)有其他處理操作,也做了個(gè)try…catch 處理,然后驗(yàn)證 主方法的catch是否會(huì)執(zhí)行
結(jié)果證明會(huì)執(zhí)行

在這里插入圖片描述

因?yàn)楸徽{(diào)用的方法使用throw new RuntimeException("運(yùn)行異常");
把異常給拋出來了,上面抓到異常以后就會(huì)執(zhí)行
我就是在工作中犯了此錯(cuò)誤,
由于我在被調(diào)用方法catch的時(shí)候,給程序中的數(shù)據(jù)賦予,調(diào)用失敗的狀態(tài),結(jié)果異常又被調(diào)用方給捕獲,然后調(diào)用方的catch又將數(shù)據(jù)狀態(tài)改為未知異常,影響了結(jié)果的判斷
最終我將調(diào)用方代碼合并上去,然后多做了一個(gè)捕獲

public static void main(String[] args) {

        try{
            int a = 100 / 0;
        }catch (RuntimeException e){
            System.out.println("運(yùn)行異常 RuntimeException 異常信息為:"+e);
            throw new RuntimeException(e);
        }catch (Exception e){
            System.out.println("運(yùn)行異常 Exception 異常信息為:"+e);
        }
    }

在這里插入圖片描述

這次只運(yùn)行了RuntimeException 的catch 盡管異常已經(jīng)拋出,但是Exception 的catch依舊是沒有執(zhí)行

到此這篇關(guān)于java異常級(jí)別與捕獲的示例代碼的文章就介紹到這了,更多相關(guān)java捕獲異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows環(huán)境下重啟jar服務(wù)bat代碼的解決方案

    Windows環(huán)境下重啟jar服務(wù)bat代碼的解決方案

    在Windows環(huán)境下部署java的jar包,若有多個(gè)服務(wù)同時(shí)啟動(dòng),很難找到相應(yīng)服務(wù)重啟,每次都重啟全部服務(wù)很麻煩,應(yīng)用場(chǎng)景大多用于部署測(cè)試,今天給大家分享Windows環(huán)境下重啟jar服務(wù)bat代碼,感興趣的朋友一起看看吧
    2023-08-08
  • java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解

    java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解

    這篇文章主要介紹了java中的動(dòng)態(tài)代理與責(zé)任鏈模式詳解,動(dòng)態(tài)代理提供了一種靈活且非侵入式的方式,可以對(duì)對(duì)象的行為進(jìn)行定制和擴(kuò)展,它在代碼重用、解耦和業(yè)務(wù)邏輯分離、性能優(yōu)化以及系統(tǒng)架構(gòu)中起到了重要的作用,需要的朋友可以參考下
    2023-08-08
  • springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案(步驟詳解)

    springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案(步驟詳解)

    這篇文章主要介紹了springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法

    Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法

    這篇文章主要介紹了Java中關(guān)于優(yōu)先隊(duì)列PriorityQueue的使用及相關(guān)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Spring?Boot配置文件的語法規(guī)則詳解(properties和yml)

    Spring?Boot配置文件的語法規(guī)則詳解(properties和yml)

    這篇文章主要介紹了Spring?Boot配置文件的語法規(guī)則,主要介紹兩種配置文件的語法和格式,properties和yml,對(duì)于配置文件也有獨(dú)立的文件夾存放,主要用來存放一些需要經(jīng)過變動(dòng)的數(shù)據(jù)(變量值),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Java解決程序包不存在的問題解決

    Java解決程序包不存在的問題解決

    在Java編程中,我們可以使用Maven或Gradle等構(gòu)建工具來管理依賴庫,本文主要介紹了Java解決程序包不存在的問題解決,具有一定的參考價(jià)值,感興趣的可以了解 一下
    2023-12-12
  • 如何優(yōu)雅的拋出Spring Boot注解的異常詳解

    如何優(yōu)雅的拋出Spring Boot注解的異常詳解

    這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的拋出Spring Boot注解的異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 5個(gè)Java API使用技巧

    5個(gè)Java API使用技巧

    這篇文章主要為大家詳細(xì)介紹了Java API安全和性能方面的簡單易用技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • SpringBoot自動(dòng)初始化數(shù)據(jù)庫的方法分享

    SpringBoot自動(dòng)初始化數(shù)據(jù)庫的方法分享

    我們?cè)陧?xiàng)目中應(yīng)該經(jīng)常遇到過初始化數(shù)據(jù)的場(chǎng)景,特別是項(xiàng)目部署或者交付的時(shí)候,那么有什么方式可以在項(xiàng)目啟動(dòng)的時(shí)候自動(dòng)初始化數(shù)據(jù)庫呢,下面小編就來和大家分享幾個(gè)方法吧
    2023-08-08
  • Java中多線程與并發(fā)_volatile關(guān)鍵字的深入理解

    Java中多線程與并發(fā)_volatile關(guān)鍵字的深入理解

    這篇文章主要給大家介紹了關(guān)于Java中多線程與并發(fā)_volatile關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

濉溪县| 井冈山市| 永顺县| 建瓯市| 汝州市| 九江县| 闽清县| 鄂托克前旗| 宁都县| 右玉县| 武定县| 新兴县| 桐庐县| 紫云| 千阳县| 钟山县| 昆山市| 望都县| 会理县| 塔河县| 龙里县| 正蓝旗| 新兴县| 乌鲁木齐县| 礼泉县| 清苑县| 龙游县| 罗山县| 永靖县| 准格尔旗| 安阳市| 蓬安县| 张北县| 林西县| 安阳市| 蕲春县| 筠连县| 麻江县| 台江县| 县级市| 大渡口区|