欢迎访问宙启技术站
智能推送

在Java中使用自定义异常函数的示例

发布时间:2023-07-01 01:07:05

在Java中,可以通过编写自定义异常类来提供更具体和个性化的异常处理。自定义异常类需要继承Exception或其子类,然后可以在程序中根据自定义的异常类进行异常处理。下面是一个示例代码,展示了如何在Java中使用自定义异常函数。

首先,我们创建一个自定义异常类CustomException,继承自Exception类。

public class CustomException extends Exception {
    public CustomException() {
        super();
    }

    public CustomException(String message) {
        super(message);
    }
}

在上述代码中,我们定义了两个构造函数,一个是无参构造函数,一个是带有异常信息的构造函数。通过调用super(message)来将异常信息传递给父类的构造函数。

接下来,我们可以在程序中使用自定义异常类。下面是一个示例代码,展示了如何在一个自定义的函数中抛出自定义异常,并在调用函数的地方进行异常处理。

public class Main {
    public static void checkAge(int age) throws CustomException {
        if (age < 0) {
            throw new CustomException("年龄不能为负数");
        }
        if (age > 100) {
            throw new CustomException("年龄不能超过100岁");
        }
        System.out.println("年龄检查通过");
    }

    public static void main(String[] args) {
        try {
            checkAge(-1);
        } catch (CustomException e) {
            System.out.println("发生异常:" + e.getMessage());
        }

        try {
            checkAge(150);
        } catch (CustomException e) {
            System.out.println("发生异常:" + e.getMessage());
        }

        try {
            checkAge(30);
        } catch (CustomException e) {
            System.out.println("发生异常:" + e.getMessage());
        }
    }
}

运行上述代码,输出结果如下:

发生异常:年龄不能为负数
发生异常:年龄不能超过100岁
年龄检查通过

在上述代码中,我们定义了一个checkAge函数,用来检查年龄是否满足要求。在函数中,如果年龄小于0,则抛出CustomException异常,并将异常信息设置为"年龄不能为负数";如果年龄大于100,则抛出CustomException异常,并将异常信息设置为"年龄不能超过100岁";如果年龄满足要求,则输出"年龄检查通过"。

main函数中,我们分别调用checkAge函数,传入不同的年龄值。在调用函数的地方,使用try-catch语句进行异常处理。如果捕捉到了CustomException异常,则输出异常信息。

通过自定义异常函数,我们可以根据具体的业务逻辑和需求定义不同类型的异常,并在程序中进行异常处理。这样可以提高代码的可读性和可维护性,让异常处理更加具有针对性。