Java基礎--如何在一個catch中捕獲多個異常


1.介紹

  JDK1.7之后可以在一個catch語句中捕獲多個異常,通過"或"運算符"|"列出需要捕獲的多個異常。當對多個種類的異常有相同的處理時,這種寫法能是得代碼簡潔易讀。

  但是需要注意的是,這多個異常的級別需要相同,不能是繼承的關系。

2.舉例

    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        try {
            int c = a / b;
        } catch (ArithmeticException | NullPointerException  e) {
            System.out.println(e.getClass());
            System.out.println("Catch it!");
        }
    }

輸出的結果:

class java.lang.ArithmeticException
Catch it!

 

3.注意捕獲的多個異常的級別要相同,否則會編譯報錯

報錯樣例:

    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        try {
            int c = a / b;
            // 類ArithmeticException 繼承 類RuntimeException,所以不能放在一個catch中
            // 會編譯報錯
        } catch (ArithmeticException | RuntimeException  e) {
            System.out.println(e.getClass());
            System.out.println("Catch it!");
        }
    }

 

IDE提示報錯:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM