欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java深入講解異常處理try?catch的使用

 更新時(shí)間:2022年06月08日 08:35:14   作者:Demo龍  
這篇文章主要介紹了Java異常處理機(jī)制try?catch流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.try-catch異常處理說明

Java提供try和catch塊來處理異常,try塊用于包含可能出錯(cuò)的代碼。catch塊用于處理try塊中發(fā)出的異常。可以根據(jù)需要在程序中有一個(gè)或多個(gè)try-catch塊

基本語(yǔ)法

try{
	//可疑代碼
	//將一場(chǎng)生成對(duì)應(yīng)的異常對(duì)象,傳遞給catch塊
}catch{
	//對(duì)異常的處理
}

2.try-catch異常處理細(xì)節(jié)

1.如果異常發(fā)生了,則異常后面的代碼不會(huì)執(zhí)行,直接進(jìn)入到catch塊

2.如果異常沒有發(fā)生,則順序執(zhí)行try的代碼塊,不會(huì)進(jìn)入到catch。

3.如果希望不管是否發(fā)生異常,都執(zhí)行某段代碼,則使用如下代碼-finally{}

示例01

package com.demo.trycatch;

/**
 * @version 1.0
 * @auther Demo龍
 */
public class TrycatchDetial {
    public static void main(String[] args) {
        //1.如果異常發(fā)生了,則異常后面的代碼不會(huì)執(zhí)行,直接進(jìn)入到catch塊
        //ctrl+alt+t
        try {
            String ch="kkk";
            int a=Integer.parseInt(ch);
            System.out.println("number"+a);
        } catch (NumberFormatException e) {
            System.out.println("異常信息:"+e.getMessage());
        }
        System.out.println("程序繼續(xù)運(yùn)行");
        // > 2.如果異常沒有發(fā)生,則順序執(zhí)行try的代碼塊,不會(huì)進(jìn)入到catch。
        try {
            String ch="556";
            int a=Integer.parseInt(ch);
            System.out.println("number="+a);
        } catch (NumberFormatException e) {
            System.out.println("異常信息:"+e.getMessage());
        }
        System.out.println("程序繼續(xù)運(yùn)行02");
        //> 3.如果希望不管是否發(fā)生異常,都執(zhí)行某段代碼,則使用如下代碼-finally{}
        try {
            String ch="Demo龍";
            int a=Integer.parseInt(ch);
            System.out.println("number="+a);
        } catch (NumberFormatException e) {
            System.out.println("異常信息:"+e.getMessage());
        } finally {
            System.out.println("finally被執(zhí)行");
        }
    }
}

測(cè)試結(jié)果01

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

5.try-finally配合使用,這種用法相當(dāng)于沒有捕獲異常,程序會(huì)直接退出,但會(huì)執(zhí)行finally業(yè)務(wù)邏輯

示例02

package com.demo.trycatch;
/**
 * @version 1.0
 * @auther Demo龍
 */
public class TrycatchDetial02 {
    //4.可以有多個(gè)catch語(yǔ)句,捕獲不同的異常(進(jìn)行不同的業(yè)務(wù)處理),
    // 要求父類異常在后,子類異常在前,如果發(fā)生異常,只會(huì)匹配一個(gè)catch。
    public static void main(String[] args) {
        try {
            Person person = new Person();
            person=null;
            System.out.println("name="+person.getName());//空指針異常
            int n1=9;
            int n2=0;
            int num=n1/n2;//數(shù)學(xué)異常
            //1.try代碼塊可能有多個(gè)異常
            //2.可以使用多個(gè)catch分別捕獲不同的異常,相應(yīng)處理
            //3.要求子類異常寫在前面,父類異常寫在后面
        }catch (NullPointerException e){
            System.out.println("空指針異常:"+e.getMessage());
        } catch (ArithmeticException c){
            System.out.println("算數(shù)異常:"+c.getMessage());
        } catch (Exception e) {
            System.out.println("異常情況:"+e.getMessage());
        } finally {
            System.out.println("finally代碼塊被執(zhí)行");
        }
        System.out.println("程序繼續(xù)運(yùn)行。");
        //5.try-finally配合使用,這種用法相當(dāng)于沒有捕獲異常,
        // 程序會(huì)直接退出,但會(huì)執(zhí)行finally業(yè)務(wù)邏輯
        System.out.println("try-finally細(xì)節(jié)測(cè)試");
        try {
            int m1=9;
            int m2=3;
            System.out.println("m1/m2="+m1/m2);
        } finally {
            System.out.println("執(zhí)行finally代碼塊02");
        }
        try {
            int m1=9;
            int m2=0;
            System.out.println("m1/m2="+m1/m2);
        } finally {
            System.out.println("執(zhí)行finally代碼塊01");
        }
    }
}
class Person{
    private String name="demo龍";

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

測(cè)試結(jié)果02

到此這篇關(guān)于Java深入講解異常處理try catch的使用的文章就介紹到這了,更多相關(guān)Java try catch內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論