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

Java異常--常見方法--自定義異常--增強try(try-with-resources)詳解

 更新時間:2023年03月14日 10:38:07   作者:一只小余  
這篇文章主要介紹了Java異常--常見方法--自定義異常--增強try(try-with-resources)的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

異常方法

//返回此可拋出對象的詳細(xì)信息消息字符串
public String getMessage() 

//將此可拋發(fā)對象及其回溯到標(biāo)準(zhǔn)錯誤流。此方法在錯誤輸出流上打印此 Throwable 對象的堆棧跟蹤
//最為詳細(xì)
public void printStackTrace()
//返回此可拋件的簡短說明
public String toString()

對于1/0這個異常

 try{
            int i = 1/0;
        } catch(Exception e){
            System.out.println("e = " + e);
            System.out.println("-----------------");
            System.out.println("e.getMessage() = " + e.getMessage());
            System.out.println("-----------------");
            System.out.println("e.getStackTrace() = " + Arrays.toString(e.getStackTrace()));
            System.out.println("-----------------");
            System.out.println("e.getLocalizedMessage() = " + e.getLocalizedMessage());
            System.out.println("-----------------");
            System.out.println("e.getCause() = " + e.getCause());
            System.out.println("-----------------");
            System.out.println("e.getClass() = " + e.getClass());
            System.out.println("-----------------");
            System.out.println("e.getSuppressed() = " + Arrays.toString(e.getSuppressed()));

        }
e = java.lang.ArithmeticException: / by zero
-----------------
e.getMessage() = / by zero
-----------------
e.getStackTrace() = [省略27行,com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)]
-----------------
//可能的原因
e.getCause() = null
-----------------
//一個數(shù)組,其中包含為傳遞此異常而禁止顯示的所有異常。
//就是用try捕獲卻不做事的
e.getSuppressed() = []

自定義異常

作用

讓控制臺的報錯信息更加的見名知意

定義

1.定義異常類,寫繼承關(guān)系。
名字要見名知義,繼承于異常類。
像運行時可以繼承RuntimeException
在開發(fā)過程中一般會有多種異常類,小的會繼承自定義的大的。

2.寫構(gòu)造方法
需要書寫空參和帶參的構(gòu)造。
可以調(diào)用父類的也可以自定義

增強try(try-with-resources)

作用

簡化釋放資源的步驟

條件

自動釋放的類需要實現(xiàn)autocloseable的接口
這樣在特定情況下會自動釋放,還有的就是stream流中提到過。

jdk7

try(創(chuàng)建對象資源1;創(chuàng)建對象資源2){

}catch(){
}

例如這樣的代碼可以改寫成

BufferedInputStream b = null;
try {
    b = new BufferedInputStream(new FileInputStream(""));
}catch (Exception e) {
    e.printStackTrace();
}finally {
    if (b!=null) {
        try {
            b.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
try (BufferedInputStream b = new BufferedInputStream(new FileInputStream(""));){
    
}catch (Exception e) {
    e.printStackTrace();
}

jdk9

創(chuàng)建對象1
創(chuàng)建對象2
try(變量名1;變量名2){
}catch(){
}

上面的代碼可以改寫成,
不過需要注意的是創(chuàng)建對象也需要異常處理,我們這里選擇拋出

public void testTryWithResource() throws FileNotFoundException {
    BufferedInputStream b = new BufferedInputStream(new FileInputStream(""));
    try (b) {

    } catch (Exception e) {
        e.printStackTrace();
    }
}

到此這篇關(guān)于java-異常--常見方法--自定義異常--增強try(try-with-resources)的文章就介紹到這了,更多相關(guān)java自定義異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java9 集合工廠方法解析

    Java9 集合工廠方法解析

    這篇文章主要介紹了Java9 集合工廠方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java Hutool(糊涂)工具類索引詳解

    Java Hutool(糊涂)工具類索引詳解

    這篇文章主要介紹了Java Hutool(糊涂)工具類索引,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java?Spring?事件監(jiān)聽詳情解析

    Java?Spring?事件監(jiān)聽詳情解析

    這篇文章主要介紹了Java?Spring?事件監(jiān)聽詳情解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Java基于字符流形式讀寫數(shù)據(jù)的兩種實現(xiàn)方法示例

    Java基于字符流形式讀寫數(shù)據(jù)的兩種實現(xiàn)方法示例

    這篇文章主要介紹了Java基于字符流形式讀寫數(shù)據(jù)的兩種實現(xiàn)方法示,結(jié)合實例形式分析了java逐個字符讀寫及使用緩沖區(qū)進行讀寫操作的具體實現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Java線程池ThreadPoolExecutor原理及使用實例

    Java線程池ThreadPoolExecutor原理及使用實例

    這篇文章主要介紹了Java線程池ThreadPoolExecutor原理及使用實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java class文件格式之方法_動力節(jié)點Java學(xué)院整理

    Java class文件格式之方法_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java class文件格式之方法的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • springcloud之Feign、ribbon如何設(shè)置超時時間和重試機制

    springcloud之Feign、ribbon如何設(shè)置超時時間和重試機制

    這篇文章主要介紹了springcloud之Feign、ribbon如何設(shè)置超時時間和重試機制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring Security更換加密方式的完整方案

    Spring Security更換加密方式的完整方案

    隨著現(xiàn)在對軟件系統(tǒng)安全性要求的越來越嚴(yán)苛,對于很多項目,升級密碼都是勢在必行的,若項目使用Spring Security框架,只需稍作修改,便可達到更換加密方式,所以本文給大家介紹了Spring Security更換加密方式的完整方案,需要的朋友可以參考下
    2025-12-12
  • springboot多模塊中的共用配置文件詳解

    springboot多模塊中的共用配置文件詳解

    這篇文章主要介紹了springboot多模塊中的共用配置文件詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Springboot整合Socket實現(xiàn)單點發(fā)送,廣播群發(fā),1對1,1對多實戰(zhàn)

    Springboot整合Socket實現(xiàn)單點發(fā)送,廣播群發(fā),1對1,1對多實戰(zhàn)

    本文主要介紹了Springboot整合Socket實現(xiàn)單點發(fā)送,廣播群發(fā),1對1,1對多實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評論

霍城县| 隆尧县| 寻甸| 越西县| 延寿县| 黎川县| 五华县| 平阴县| 章丘市| 涞源县| 开远市| 万盛区| 灵川县| 沁阳市| 虹口区| 武乡县| 巴马| 千阳县| 三亚市| 华容县| 惠安县| 临安市| 晋中市| 蒲江县| 交口县| 郴州市| 板桥市| 赣州市| 丰台区| 荔波县| 乐亭县| 原阳县| 普兰县| 南康市| 衡阳市| 山阳县| 阳谷县| 旺苍县| 庆阳市| 平潭县| 项城市|