首页 > 编程笔记 > Java笔记 阅读:9

Java自定义异常类(附带实例)

Java 提供了丰富的异常类来处理各种错误情况,如下图所示:


图 1 Java内置异常类

这些异常类较为通用,而实际应用中,我们通常需要更具体的异常描述。

例如,比如用户验证失败,不仅需要知道是异常,还需要区分是用户名错还是密码错,这就需要自定义的 AuthenticationException。

通过自定义异常类,可以更明确地描述异常的业务语义,让异常处理更贴合实际业务需求。

在 Java 程序中,实现自定义异常类的示例代码如下:
public class AuthenticationException extends Exception { // ①
    private String errorCode; // ②

    public AuthenticationException(String message, String errorCode) { // ③
        super(message); // ④
        this.errorCode = errorCode; // ⑤
    }

    public String getErrorCode() { // ⑥
        return errorCode;
    }
}
代码解释如下:
代码第 ① 处自定义异常类 AuthenticationException,该类继承自 Exception 类。

代码第 ② 处在自定义异常类中添加了一个私有属性 errorCode,用于存储异常的错误码。

代码第 ③ 处为自定义异常类提供了一个带有两个参数的构造函数 AuthenticationException(String message, String errorCode),这个构造函数接收两个参数,第一个参数 message 用于设置异常消息,第二个参数 errorCode 用于设置异常的错误码。

代码第 ④ 处在构造函数内部,首先调用父类 Exception 的构造函数,将异常消息 message 传递给父类,以设置异常消息。

代码第 ⑤ 处将传入的错误码 errorCode 赋值给自定义异常类的 errorCode 属性。

代码第 ⑥ 处添加了一个公有的方法 getErrorCode(),用于获取异常的错误码。这样外部代码可以通过调用此方法来获取异常的错误码,以进一步处理异常情况。

使用自定义异常类时,可以根据需要在代码中抛出该异常,并在捕获该异常的代码块中使用 getErrorCode() 方法来获取异常的错误码,并执行相应的处理逻辑。这样可以提供更多关于异常的信息,使代码更加灵活和健壮。

相关文章