Java如何使用過載方法處理異常?

2019-10-16 22:29:25

在Java程式設計中,如何使用過載方法處理異常?

此範例顯示如何使用過載方法來處理異常。需要在每個方法中使用try catch塊。

package com.yiibai;

public class ExceptionWithOverloadedMethods {
    double method(int i) throws Exception {
        return i / 0;
    }

    boolean method(boolean b) {
        return !b;
    }

    static double method(int x, double y) throws Exception {
        return x + y;
    }

    static double method(double x, double y) {
        return x + y - 3;
    }

    public static void main(String[] args) {
        ExceptionWithOverloadedMethods mn = new ExceptionWithOverloadedMethods();
        try {
            System.out.println(method(110, 120.0));
            System.out.println(method(110.0, 120));
            System.out.println(method(110.0, 120.0));
            System.out.println(mn.method(110));
        } catch (Exception ex) {
            System.out.println("exception occoure: " + ex);
        }
    }
}

上述程式碼範例將產生以下結果 -

230.0
227.0
227.0
exception occoure: java.lang.ArithmeticException: / by zero

範例-2

以下是在Java中使用過載方法處理異常的另一個範例

package com.yiibai;

class NewClass1 {
    void msg() throws Exception {
        System.out.println("this is parent");
    }
}

public class ExceptionWithOverloadedMethods2 extends NewClass1 {
    ExceptionWithOverloadedMethods2() {
    }

    void msg() throws ArithmeticException {
        System.out.println("This is child");
    }

    public static void main(String args[]) {
        ExceptionWithOverloadedMethods2 n = new ExceptionWithOverloadedMethods2();
        try {
            n.msg();
        } catch (Exception e) {
        }
    }
}

上述程式碼範例將產生以下結果 -

This is child