亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java異常類型及處理詳情

 更新時(shí)間:2021年09月25日 17:31:17   作者:嘻嘻碩  
這篇文章主要介紹了Java異常類型及處理, 異常指的是程序在執(zhí)行過程中,出現(xiàn)了非正常情況,導(dǎo)致了java的jvm停止。感興趣的小伙伴就和小編一起來學(xué)習(xí)下面文章的具體內(nèi)容吧

異常結(jié)構(gòu)為:

Throwable 為頂級父類

  • 子類Error為嚴(yán)重報(bào)錯 ,
  • 子類Exception就是我們所說的異常了

一、異常處理的關(guān)鍵字

java中處理異常的有五個關(guān)鍵字: try、catch 、finally 、 throw 、throws

throw拋出異常 , thorws聲明異常 , 捕獲異常 try_catch

1、throw

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

        /**
         *  throw 拋出異常
         *    格式 - throw new 異常類名(參數(shù));
         * */

        // 創(chuàng)建一個數(shù)組
        int [] arr = { 2, 4, 56 ,5};
        // 根據(jù)索引找到對應(yīng)的元素
        int index = 4;
        int element = getElement(arr,index);
        System.out.println(element);
        System.out.println("owo"); // 運(yùn)行錯誤 無法繼續(xù)
    }
        /** throw 拋出異常 提醒你必須處理  */
    public static int getElement(int [] arr, int index){
        // 判斷數(shù)組索引是否越界
        if (index < 0  || index > arr.length -1){
            /**
             * 條件滿足越界 當(dāng)執(zhí)行到throw拋出異常后就無法運(yùn)行,結(jié)束方法并且提示
             * */
            throw new ArrayIndexOutOfBoundsException("數(shù)組下標(biāo)越界異常");
        }
        int element = arr[index];
        return element;
    }
}    

異常結(jié)果為:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 數(shù)組下標(biāo)越界異常

2、throws

public class SegmentFault{
    public static void main(String [] args){
    
        read("a.txt");
        
    }
      public static void read(String path) throws FileNotFoundException, IOException {
        if (!path.equals("a.txt")){  // 如果沒有a.txt
            // 如果不是 a.txt 該文件不存在 是一個錯誤 也就是異常 throw
            throw new FileNotFoundException("文件不存在");
        }
        if (!path.equals("b.txt")){
            throw new IOException("文件不存在");
        }
    }
    
}

異常結(jié)果為:

Exception in thread "main" java.io.IOException: 文件不存在

try、catch、finally + Throwable中的常用方法。

Throwable常用方法如下:

  • printStackTrace() : *打印異常詳細(xì)信息。
  • getMessage() : 獲取異常原因。
  • toString(): 獲取異常類型及描述信息。
public class Demo03 {
    public static void main(String[] args) {

        /**
         *  try- catch  捕獲異常
         * */


        // 可能會生成的異常
        try {     // 捕獲或者聲明
            read("b.txt");
        } catch (FileNotFoundException e) {   // 使用某種捕獲,實(shí)現(xiàn)對異常的處理
            System.out.println(e);
            /**
             *  Throwable中的查看方法
             *  getMessage 獲取異常信息  提示給用戶看的
             *  toString   獲取異常的類型和異常描述(不用)
             *  printStackTrace
             * */
            
            
            System.out.println("Throwable常用方法測試");
            System.out.println(e.getMessage()); // 文件不存在
            System.out.println(e.toString());
            e.printStackTrace();
            
            

        } finally {
            System.out.println("不管程序怎樣,這里都會被執(zhí)行");
        }

        System.out.println("over");

    }

    public static void read(String path) throws FileNotFoundException {
        if (!path.equals("a.txt")) {
            throw new FileNotFoundException("文件不存在");
        }
    }
    
}

輸出結(jié)果為:

java.io.FileNotFoundException: 文件不存在
-----Throwable常用方法測試------
文件不存在
java.io.FileNotFoundException: 文件不存在
不管程序怎樣,這里都會被執(zhí)行

注意事項(xiàng) :try、 catch、 finally、都不可以單獨(dú)使用

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

相關(guān)文章

  • java  基礎(chǔ)知識之IO總結(jié)

    java 基礎(chǔ)知識之IO總結(jié)

    這篇文章主要介紹了java 基礎(chǔ)知識之IO總結(jié)的相關(guān)資料,Java中的I/O分為兩種類型,一種是順序讀取,一種是隨機(jī)讀取,需要的朋友可以參考下
    2017-03-03
  • Java導(dǎo)入導(dǎo)出csv格式文件完整版詳解(附代碼)

    Java導(dǎo)入導(dǎo)出csv格式文件完整版詳解(附代碼)

    在Java中你可以使用不同的庫來導(dǎo)出CSV格式的文件,這篇文章主要給大家介紹了關(guān)于Java導(dǎo)入導(dǎo)出csv格式文件的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • IDEA2020如何打開Run Dashboard的方法步驟

    IDEA2020如何打開Run Dashboard的方法步驟

    這篇文章主要介紹了IDEA2020如何打開Run Dashboard的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • java 中cookie的詳解及簡單實(shí)例

    java 中cookie的詳解及簡單實(shí)例

    這篇文章主要介紹了java 中cookie的詳解及簡單實(shí)例的相關(guān)資料,這里對cookie 的建立與讀取,和設(shè)定cookie 生命周期等詳細(xì)介紹,需要的朋友可以參考下
    2017-01-01
  • 解讀maven配置阿里云鏡像問題

    解讀maven配置阿里云鏡像問題

    這篇文章主要介紹了解讀maven配置阿里云鏡像問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java中Runnable和Callable分別什么時(shí)候使用

    Java中Runnable和Callable分別什么時(shí)候使用

    提到 Java 就不得不說多線程了,就算你不想說,面試官也得讓你說呀,那說到線程,就不得不說Runnable和Callable這兩個家伙了,二者在什么時(shí)候使用呢,下面就來和簡單講講
    2023-08-08
  • Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    Java外觀模式解讀,讓你的代碼優(yōu)雅又高效

    外觀模式(Facade?Pattern)是一種常用的結(jié)構(gòu)型設(shè)計(jì)模式,它為復(fù)雜的子系統(tǒng)提供一個簡單的接口,隱藏復(fù)雜的實(shí)現(xiàn)細(xì)節(jié),本文就來講講它是如何簡化代碼,提高可維護(hù)性的
    2023-05-05
  • Spring MVC注解式開發(fā)示例完整過程

    Spring MVC注解式開發(fā)示例完整過程

    這篇文章主要介紹了Spring MVC注解式開發(fā)示例完整過程,MVC注解式開發(fā)即處理器基于注解的類開發(fā),對于每一個定義的處理器,無需在xml中注冊,只需在代碼中通過對類與方法的注解,即可完成注冊
    2023-02-02
  • java使用compareTo實(shí)現(xiàn)一個類的對象之間比較大小操作

    java使用compareTo實(shí)現(xiàn)一個類的對象之間比較大小操作

    這篇文章主要介紹了java使用compareTo實(shí)現(xiàn)一個類的對象之間比較大小操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • SpringBoot中啟動時(shí)如何忽略某項(xiàng)檢測

    SpringBoot中啟動時(shí)如何忽略某項(xiàng)檢測

    這篇文章主要介紹了SpringBoot中啟動時(shí)如何忽略某項(xiàng)檢測,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論