自定义异常
# 03.自定义异常
Java 提供相当多的异常类,然而,在工作中,我们的项目的规模都不小的,很难用 Java 自带的异常类恰当地描述的问题,我们通常会派生 Exception 类或其子类,来创建自己的异常类。
# 常见的做法
保持一个合理的异常继承体系是非常重要的,一个常见的做法是自定义一个 BaseException
作为“根异常”,然后,派生出各种业务类型的异常。
BaseException
需要从一个适合的 Exception
派生,通常建议从 RuntimeException
派生:
public class BaseException extends RuntimeException {
}
1
2
2
其他业务类型的异常就可以从 BaseException
派生:
public class UserNotFoundException extends BaseException {
}
public class LoginFailedException extends BaseException {
}
...
1
2
3
4
5
6
7
2
3
4
5
6
7
自定义的 BaseException
应该提供多个构造方法:
public class BaseException extends RuntimeException {
public BaseException() {
super();
}
public BaseException(String message, Throwable cause) {
super(message, cause);
}
public BaseException(String message) {
super(message);
}
public BaseException(Throwable cause) {
super(cause);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
上述构造方法实际上都是原样照抄 RuntimeException
。
Exception 类包含 4 个构造方法,但是最常用的是下面两个:
+Exception
: 构造一个没有消息的异常+Exception(message: String)
: 构造一个没有消息的异常
大多数异常类都包含 2 个构造方法,一个带消息参数的,一个无参的
上次更新: 2024/10/1 16:58:10