Java 異常(二) 自定義異常_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

 Java 異常(二) 自定義異常

在開發中,為了適應業務的開發需求, 在 Java 中可以根據業務的異常情況自定義異常。

一、自定義異常

所有的自定義異常都必須是 Throwable 的子類,在自定義繼承時可以繼承於 Exception 或者它的子類。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

二、自定義異常的分類

1、檢查性異常類:自定義異常類繼承於Exception。

2、運行時異常類:自定義異常類繼承於RuntimeException

三、Objects的非空判斷

Objects由一些靜態的實用方法組成,這些方法是null-save(空指針安全的)或 null-tolerant(容忍空指針的),那麼在它的源碼中,對對象為null的值進行了拋出異常操作。Objects通過調用requireNonNull(T obj)方法查看調用對象是否為null。

public static <T> T requireNonNull(T obj) {
  if (obj == null)     throw new NullPointerException();   return obj; }

從上面源碼可以看出,如果傳遞對象為 null,requireNonNull 方法會拋出 NullPointerException 異常,否則返回該對象。

四、實例

1、自定義檢查性異常類(MyException)

public class MyException extends Exception {
    
    public MyException() { } // 無參構造
    
    public MyException(String msg) { 
        super(msg); // msg : 異常提示信息
    }
    
    public MyException(Throwable throwable) { 
        super(throwable);// throwable 類型
    }
}

2、自定義運行時異常類(MyRuntimeException)

public class MyRuntimeException extends RuntimeException {
    public MyRuntimeException() { } // 無參構造
    
    public MyRuntimeException(String msg) { 
        super(msg); // msg : 異常提示信息
    }
    
    public MyRuntimeException(Throwable throwable) { 
        super(throwable);// throwable 類型
    }
}

3、自定義異常的使用實例

public class ExceptionDemo {
    public static void main(String[] args) throws Exception {
        int i = demo(3);
        System.out.println("i = " + i);
    }
    
    public static int demo(int index) throws  MyException{
        int[] arr = {1,2,3};
        if(index >= arr.length || index < 0)
            throw new MyRuntimeException("您傳遞的索引錯誤,數組索引在0-2之間");
        return arr[index];
    }
}

 4、Objects的非空判斷實例

public static void main(String[] args) throws Exception {
    Integer i = 10;
    Integer i2 = Objects.requireNonNull(i);
    System.out.println(i2);
}

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

您可能也會喜歡…