为什么需要自定义异常类

时间:2019-07-01 12:12:06

标签: java exception

在自定义异常类中,我们将父类的构造函数称为父类(Exception class)。为什么不直接调用Exception类的构造函数而不是自定义类的构造函数呢?请在下面找到示例

class InvalidAgeException extends Exception {
    InvalidAgeException(String s) {
        super(s);
    }
}

class TestCustomException1 {

    static void validate(int age) throws InvalidAgeException {
        if (age < 18) {
            throw new InvalidAgeException("not valid");
        }
        else {
            System.out.println("welcome to vote");
        }
    }

    public static void main(String args[]){  
        try {  
            validate(13);  
        }
        catch (Exception m) {
            System.out.println("Exception occured: " + m);
        }
        System.out.println("rest of the code...");
    }
}

在上面的示例中,我们可以使用throw new Exception(“ invalid”); 那么自定义异常类在这里有什么用?

1 个答案:

答案 0 :(得分:0)

因为它使调用代码可以更好地控制它需要关注的异常。在这种情况下,UIView仅捕获基类main,但是如果将来有人添加了一个 only 关心无效年龄的方法,而不关心其他类型的异常怎么办?