17370845950

Java中自定义异常类的创建方法
自定义异常类通过继承Exception或RuntimeException实现,用于处理特定业务错误。继承Exception可创建检查型异常,如InvalidAgeException,用于年龄非法等需编译期处理的场景;继承RuntimeException可创建运行时异常,如UserNotFoundException,适用于用户查询失败等运行中异常;还可添加errorCode等字段,如BusinessException,以便携带错误码信息,提升异常处理的规范性与实用性。

在Java中,自定义异常类是为了处理特定业务场景下的错误情况,使程序的异常处理更加清晰和规范。创建自定义异常类的方法非常简单,主要通过继承Exception类或其子类来实现。

继承Exception类

如果要创建一个**检查型异常(checked exception)**,应继承Exception类。这类异常在编译期就会被检查,调用时必须显式处理。

示例代码:

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

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

这个异常可用于年龄非法的场景,比如注册时年龄小于0或大于150。

继承RuntimeException类

如果要创建一个**运行时异常(unchecked exception)**,应继承RuntimeException。这类异常不需要强制捕获或声明抛出。

示例代码:

public class UserNotFoundException extends RuntimeException {
    public UserNotFoundException(String message) {
        super(message);
    }
}

适用于如用户查询失败等程序运行中可能出现的问题。

添加自定义属性和方法(可选)

在实际开发中,有时需要在异常中携带更多信息,比如错误码、时间戳等,可以在自定义异常中添加字段和对应的方法。

public class BusinessException extends Exception {
    private int errorCode;

    public BusinessException(String message, int errorCode) {
        super(message);
        this.errorCode = errorCode;
    }

    public int getErrorCode() {
        return errorCode;
    }
}

这样调用方可以通过getErrorCode()获取具体的错误编号,便于前端或日志处理。

基本上就这些。根据实际需求选择继承Exception还是RuntimeException,并提供合适的构造方法,就能创建出实用的自定义异常类。不复杂但容易忽略细节。