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

Java中try-catch的使用及注意細(xì)節(jié)

 更新時(shí)間:2023年06月13日 14:36:50   作者:呀吖呀吖呀  
現(xiàn)在有很多的語言都支持try-catch,比如常見的就是c++,java等,這篇文章主要給大家介紹了關(guān)于Java中try-catch的使用及注意細(xì)節(jié)的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

引言

?? Java中提供 trycatch塊來處理異常。try塊用于包含可能出錯(cuò)的代碼。catch塊用于處理try塊中發(fā)生的異常??梢愿鶕?jù)需要在程序中有多個(gè)try…catch塊。

1. 基本語法

try{
//可疑代碼
//將異常生成對(duì)象的異常對(duì)象傳遞給catch塊
}catch(異常){
//對(duì)異常進(jìn)行處理
}finally{
} //可以沒有finally

2. 注意細(xì)節(jié)

  1. 如果異常發(fā)生了,則異常發(fā)生后面的代碼不會(huì)執(zhí)行,直接進(jìn)入到catch
  2. 如果異常沒有發(fā)生,則順序執(zhí)行try的代碼塊,不會(huì)進(jìn)入到catch
  3. 如果希望發(fā)不發(fā)生異常都進(jìn)入到某段代碼段 例如:關(guān)閉數(shù)據(jù)庫的連接,則使用 finally{ }
public static void main(String[] args) {
    //ctrl + alt +t 
    try {
        String str = "123";
        int a = Integer.parseInt(str);
        System.out.println(a);
    } catch (NumberFormatException e) {
        System.out.println("異常信息" + e.getMessage());
    }finally {
        System.out.println("finally代碼塊被執(zhí)行");
    }
    System.out.println("程序繼續(xù)");
}

運(yùn)行結(jié)果為:

請(qǐng)?zhí)砑訄D片描述

當(dāng)更改為"abc"時(shí)

請(qǐng)?zhí)砑訄D片描述

語句時(shí)再次運(yùn)行:

請(qǐng)?zhí)砑訄D片描述

4.可以有多個(gè)catch語句,捕捉不同的異常(進(jìn)行不同的業(yè)務(wù)處理),要求父類異常在后,子類異常在前,比如Exception 在后 ,NullPointerException在前,如果發(fā)生異常,只會(huì)匹配一個(gè)catch

public class TryCatchDetai {
    public static void main(String[] args) {

        try {
            Person person = new Person();
            person = null;
            System.out.println(person.getName());
            int n1 = 10;
            int n2 = 0;
            int res = n1/n2;
        }catch (NullPointerException e){
            System.out.println("空指針異常 " + e.getMessage());
        }
        catch (Exception e){
            System.out.println("算術(shù)異常" + e.getMessage());
        }finally {

        }
    }
}

class Person{
    private String name = "yayaya";

    public String getName(){
        return name;
    }
}

運(yùn)行的結(jié)果為:

請(qǐng)?zhí)砑訄D片描述

但是實(shí)際上還有一個(gè)異常為算術(shù)異常 及分母不能為0,因?yàn)橐呀?jīng)找到一個(gè)異常就不會(huì)捕獲下一個(gè)異常。

person = null;代碼注銷。

再次運(yùn)行:

請(qǐng)?zhí)砑訄D片描述

如果更改獲取異常的順序,編譯器就會(huì)報(bào)錯(cuò)。所以父類異常需要在后,子類異常需要在前。

請(qǐng)?zhí)砑訄D片描述

5.可以進(jìn)行try-finally 配合使用,這種用法相當(dāng)于沒有捕獲異常

所以程序會(huì)崩潰。但是finally一定會(huì)執(zhí)行,例如:需要關(guān)閉數(shù)據(jù)庫,一些必須要執(zhí)行的代碼

public class TryCatchDetail02 {
    public static void main(String[] args) {
        try {
            int n1 = 10000;
            int n2 = 0;
            System.out.println(n1/n2);
        }finally {
            System.out.println("執(zhí)行finally");
        }
        System.out.println("程序繼續(xù)運(yùn)行");
    }
}

當(dāng)程序運(yùn)行到n1/n2時(shí)候會(huì)報(bào)錯(cuò),這個(gè)時(shí)候會(huì)先執(zhí)行finally語句,執(zhí)行完之后就崩潰。??!

運(yùn)行結(jié)果為:

請(qǐng)?zhí)砑訄D片描述

快捷鍵

全選住代碼 ctrl + alt +t 選擇6就可以一鍵生成try=catch

快捷鍵

總結(jié) 

到此這篇關(guān)于Java中try-catch的使用及注意細(xì)節(jié)的文章就介紹到這了,更多相關(guān)try-catch使用及細(xì)節(jié)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java編寫緩存工具類的示例代碼

    Java編寫緩存工具類的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于Java編寫一個(gè)緩存工具類,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2023-07-07
  • SpringBoot Redis用注釋實(shí)現(xiàn)接口限流詳解

    SpringBoot Redis用注釋實(shí)現(xiàn)接口限流詳解

    Redis 除了做緩存,還能干很多很多事情:分布式鎖、限流、處理請(qǐng)求接口冪等性。。。太多太多了~今天想和小伙伴們聊聊用 Redis 處理接口限流,這也是最近的 項(xiàng)目涉及到這個(gè)知識(shí)點(diǎn)了,我就拎出來和大家聊聊這個(gè)話題
    2022-07-07
  • SpringBoot3.3中實(shí)現(xiàn)多端口監(jiān)聽的示例代碼

    SpringBoot3.3中實(shí)現(xiàn)多端口監(jiān)聽的示例代碼

    在SpringBoot應(yīng)用中實(shí)現(xiàn)多端口監(jiān)聽,可以讓一個(gè)應(yīng)用處理不同類型的HTTP請(qǐng)求或暴露多個(gè)服務(wù)接口,本文詳細(xì)講解了通過配置application.yml文件和編寫自定義配置類的方法,實(shí)現(xiàn)了對(duì)多個(gè)端口的監(jiān)聽,感興趣的可以了解一下
    2024-11-11
  • Java調(diào)用Python的四種方法小結(jié)

    Java調(diào)用Python的四種方法小結(jié)

    在現(xiàn)代開發(fā)中,結(jié)合不同編程語言的優(yōu)勢(shì)往往能達(dá)到事半功倍的效果,本文將詳細(xì)介紹四種在Java中調(diào)用Python的方法,并推薦一種最常用且實(shí)用的方法,希望對(duì)大家有一定的幫助
    2025-05-05
  • spring boot 2整合swagger-ui過程解析

    spring boot 2整合swagger-ui過程解析

    這篇文章主要介紹了spring boot 2整合swagger-ui過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • springboot中的多個(gè)application文件講解

    springboot中的多個(gè)application文件講解

    這篇文章主要介紹了springboot中的多個(gè)application文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 淺談resultMap的用法及關(guān)聯(lián)結(jié)果集映射

    淺談resultMap的用法及關(guān)聯(lián)結(jié)果集映射

    這篇文章主要介紹了resultMap的用法及關(guān)聯(lián)結(jié)果集映射操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 如何讓@EnableConfigurationProperties的值注入到@Value中

    如何讓@EnableConfigurationProperties的值注入到@Value中

    這篇文章主要介紹了如何讓@EnableConfigurationProperties的值注入到@Value中的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 詳解Springboot整合ActiveMQ(Queue和Topic兩種模式)

    詳解Springboot整合ActiveMQ(Queue和Topic兩種模式)

    這篇文章主要介紹了詳解Springboot整合ActiveMQ(Queue和Topic兩種模式),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Spring Cloud Nacos配置管理方案

    Spring Cloud Nacos配置管理方案

    Nacos是SpringCloud中用于服務(wù)注冊(cè)與發(fā)現(xiàn)和配置管理的組件,提供多種健康檢查機(jī)制和歷史版本管理,Nacos支持單機(jī)、集群和多集群模式,通過OpenAPI和多種語言客戶端進(jìn)行接入,感興趣的朋友一起看看吧
    2025-01-01

最新評(píng)論

隆安县| 惠安县| 水富县| 琼海市| 黑龙江省| 米泉市| 常州市| 铅山县| 饶河县| 三江| 连山| 丘北县| 平南县| 常山县| 石楼县| 普安县| 安吉县| 永胜县| 芜湖市| 马龙县| 吴江市| 武隆县| 白山市| 东兰县| 彰武县| 鹰潭市| 晴隆县| 乌鲁木齐县| 城口县| 观塘区| 晋城| 高安市| 治多县| 仪陇县| 连山| 垦利县| 林周县| 外汇| 凌云县| 五指山市| 洮南市|