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

Java自定義異常簡(jiǎn)單示例

 更新時(shí)間:2023年04月10日 11:36:30   作者:沒(méi)白頭發(fā)的扶蘇  
使用Java內(nèi)置的異常類可以描述在編程時(shí)出現(xiàn)的大部分異常情況,除此之外用戶還可以自定義異常,下面這篇文章主要給大家介紹了關(guān)于Java自定義異常的相關(guān)資料,需要的朋友可以參考下

前言

如果程序出現(xiàn)了問(wèn)題,我們沒(méi)有做任何處理,最終JVM 會(huì)做默認(rèn)的處理,處理方式有如下兩個(gè)步驟:把異常的名稱,錯(cuò)誤原因及異常出現(xiàn)的位置等信息輸出在了控制臺(tái)程序停止執(zhí)行。

  • 程序從 try 里面的代碼開(kāi)始執(zhí)行
  • 出現(xiàn)異常,就會(huì)跳轉(zhuǎn)到對(duì)應(yīng)的 catch 里面去執(zhí)行
  • 執(zhí)行完畢之后,程序還可以繼續(xù)往下執(zhí)行

一、異常分為哪幾種?

異常分為兩種,分別是編譯異常和運(yùn)行時(shí)異常。

編譯時(shí)異常

  • 都是Exception類及其子類
  • 必須顯示處理,否則程序就會(huì)發(fā)生錯(cuò)誤,無(wú)法通過(guò)編譯

運(yùn)行時(shí)異常

  • 都是RuntimeException類及其子類
  • 無(wú)需顯示處理,也可以和編譯時(shí)異常一樣處理
package com.xxgc.chop5_2.test;
 
public class ExceptionDemo {
    public static void show4(){
        //把字符串轉(zhuǎn)換int類型
        String a="張三";
        int b=Integer.parseInt(a);//NumberF
    }
    //異常拋出
    public static void show3() throws ClassNotFoundException {
        Class.forName("Student");
    }
    public static void show2(){
        //運(yùn)行時(shí)異常:程序運(yùn)行的時(shí)候出現(xiàn)的異常,可以try
        //編譯時(shí)異常(非運(yùn)行時(shí)異常):必須try catch 或者向上拋出
        try {
            Class.forName("Student");
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }
    }
    public static void show() {
        //制造一個(gè)異常,捕獲異常,處理異常
        try{
           int []nums={1,2};
           int n=10/0;
           int a=nums[3];
        }catch (ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
            System.out.println("數(shù)組下標(biāo)出錯(cuò)了");
        }catch (Exception e){
            e.printStackTrace();
            System.out.println("出錯(cuò)了");
        }finally {
            //最終最后都要之心的代碼,一般完成資源釋放工作
            System.out.println("最終的?。?!");
        }
    }
 
    public static void main(String[] args) {
        //trows:向上拋出異常,拋給方法的調(diào)用者
        //show3()方法向上拋出了異常,需要main方法解決
        //1.main方法解決了
        //2.main沒(méi)解決完,繼續(xù)向上拋,jvm(Java虛擬機(jī))解決
        try {
            show3();
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
}

二、自定義異常

1.首先新建一個(gè)類

這個(gè)類是自定義異常的類,首先我們進(jìn)行繼承idea的RuntimeException,其次建立有參和無(wú)參的方法。

代碼如下(示例):

package com.xxgc.ch06.po;
 
public class MyException extends RuntimeException{
    public MyException(){
 
    }
    public MyException(String s){
        super(s);
    }
 
}

2.測(cè)試類

下面新建一個(gè)測(cè)試類,main方法和shou方法。在shou方法里定義一個(gè)int類型的a,進(jìn)入if判斷a是否異常。

代碼如下(示例):

package com.xxgc.ch06.test;
 
import com.xxgc.ch06.po.MyException;
 
public class ThrowDemo {
    public static void show(){
        //如果a>10,拋出自己的異常
        int a=13;
        if (a>10){
            try {
                throw new MyException("不能大于10");
            }catch (MyException e){
                e.printStackTrace();
                System.out.println("出錯(cuò)啦!"+e.getMessage());
            }
 
 
        }
        System.out.println("扶蘇");
    }
 
    public static void main(String[] args) {
        show();
    }
}

該處使用的idea軟件。

總結(jié)

這里對(duì)文章進(jìn)行總結(jié):

以上就是今天要講的內(nèi)容,Java自定義異常需要新建一個(gè)類寫入有參無(wú)參方法,此類需要繼承idea的RuntimeException異常。下面就需要進(jìn)行測(cè)試是否會(huì)顯示。

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

com.xxgc.ch06.po.MyException: 不能大于10
    at com.xxgc.ch06.test.ThrowDemo.show(ThrowDemo.java:11)
    at com.xxgc.ch06.test.ThrowDemo.main(ThrowDemo.java:23)
出錯(cuò)啦!不能大于10
扶蘇

進(jìn)程已結(jié)束,退出代碼0

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

相關(guān)文章

  • IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例

    IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例

    這篇文章主要介紹了IntelliJ IDEA2019實(shí)現(xiàn)Web項(xiàng)目創(chuàng)建示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Java中值類型和引用類型詳解

    Java中值類型和引用類型詳解

    大家好,本篇文章主要講的是Java中值類型和引用類型詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 解決spring 處理request.getInputStream()輸入流只能讀取一次問(wèn)題

    解決spring 處理request.getInputStream()輸入流只能讀取一次問(wèn)題

    這篇文章主要介紹了解決spring 處理request.getInputStream()輸入流只能讀取一次問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 詳解RabbitMQ中延遲隊(duì)列結(jié)合業(yè)務(wù)場(chǎng)景的使用

    詳解RabbitMQ中延遲隊(duì)列結(jié)合業(yè)務(wù)場(chǎng)景的使用

    這篇文章主要介紹了詳解RabbitMQ中延遲隊(duì)列結(jié)合業(yè)務(wù)場(chǎng)景的使用,延遲隊(duì)列中的元素都是帶有時(shí)間屬性的,延遲隊(duì)列就是用來(lái)存放需要在指定時(shí)間被處理的元素的隊(duì)列,需要的朋友可以參考下
    2023-05-05
  • SpringBoot模板引擎之Thymeleaf的使用

    SpringBoot模板引擎之Thymeleaf的使用

    這篇文章主要介紹了SpringBoot模板引擎之Thymeleaf的使用,模板引擎是以業(yè)務(wù)邏輯層和表現(xiàn)層分離為目的的,將規(guī)定格式的模板代碼轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)的算法實(shí)現(xiàn),它可以是一個(gè)過(guò)程代碼、一個(gè)類,甚至是一個(gè)類庫(kù),需要的朋友可以參考下
    2023-10-10
  • Java使用easyExcel實(shí)現(xiàn)導(dǎo)入功能

    Java使用easyExcel實(shí)現(xiàn)導(dǎo)入功能

    這篇文章介紹了Java使用easyExcel實(shí)現(xiàn)導(dǎo)入功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • Springboot下RedisTemplate的兩種序列化方式實(shí)例詳解

    Springboot下RedisTemplate的兩種序列化方式實(shí)例詳解

    這篇文章主要介紹了Springboot下RedisTemplate的兩種序列化方式,通過(guò)定義一個(gè)配置類,自定義RedisTemplate的序列化方式,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法

    SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法

    定時(shí)器是我們項(xiàng)目中經(jīng)常會(huì)用到的,本文主要介紹了SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Maven工程pom中如何定義jdk版本

    Maven工程pom中如何定義jdk版本

    這篇文章主要介紹了Maven工程pom中如何定義jdk版本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring事件監(jiān)聽(tīng)器@EventListener與publishEvent的使用

    Spring事件監(jiān)聽(tīng)器@EventListener與publishEvent的使用

    Spring可以通過(guò)事件監(jiān)聽(tīng)器機(jī)制來(lái)處理應(yīng)用程序中的事件,本文主要介紹了Spring事件監(jiān)聽(tīng)器@EventListener與publishEvent的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06

最新評(píng)論

阿巴嘎旗| 临潭县| 乐平市| 洛宁县| 永丰县| 获嘉县| 辰溪县| 江都市| 泗水县| 株洲县| 满洲里市| 郁南县| 屏边| 积石山| 大连市| 大理市| 浦城县| 西林县| 景宁| 台州市| 瑞丽市| 明水县| 横山县| 那坡县| 宁城县| 西峡县| 延庆县| 泌阳县| 会东县| 沙雅县| 潜山县| 芦溪县| 鄂伦春自治旗| 瑞金市| 宜阳县| 菏泽市| 革吉县| 宜兰县| 张掖市| 尚义县| 习水县|