溫馨提示×

如何在catch塊中區分不同類型的異常

小樊
93
2024-08-30 20:07:06
欄目: 編程語言

在Java中,要在一個catch塊中區分不同類型的異常,你可以使用多個catch塊來捕獲特定類型的異常

public class Main {
    public static void main(String[] args) {
        try {
            // 這里寫可能會拋出異常的代碼
            int result = riskyOperation();
        } catch (ArithmeticException e) {
            // 處理算術異常(例如除數為零)
            System.out.println("發生了算術異常: " + e.getMessage());
        } catch (NullPointerException e) {
            // 處理空指針異常
            System.out.println("發生了空指針異常: " + e.getMessage());
        } catch (Exception e) {
            // 處理其他未知異常
            System.out.println("發生了未知異常: " + e.getMessage());
        }
    }

    public static int riskyOperation() {
        // 這里模擬一個可能會拋出異常的方法
        int a = 10;
        int b = 0;
        return a / b; // 這將拋出一個ArithmeticException(算術異常)
    }
}

在這個示例中,我們首先嘗試執行riskyOperation()方法。如果該方法拋出一個異常,程序將進入相應的catch塊。我們分別為ArithmeticExceptionNullPointerException提供了catch塊。如果拋出的異常與這兩種類型不匹配,它將被第三個catch塊捕獲,該塊捕獲所有其他Exception類型。

注意:在實踐中,您應該盡量捕獲更具體的異常類型,而不是捕獲通用的Exception類型,因為這樣可以讓您更準確地處理不同類型的異常。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女