搜索 K
Appearance
博客正在加载中...
Appearance
Java 提供相当多的异常类,然而,在工作中,我们的项目的规模都不小的,很难用 Java 自带的异常类恰当地描述的问题,我们通常会派生 Exception 类或其子类,来创建自己的异常类。
保持一个合理的异常继承体系是非常重要的,一个常见的做法是自定义一个 BaseException 作为“根异常”,然后,派生出各种业务类型的异常。
BaseException 需要从一个适合的 Exception 派生,通常建议从 RuntimeException 派生:
public class BaseException extends RuntimeException {
}其他业务类型的异常就可以从 BaseException 派生:
public class UserNotFoundException extends BaseException {
}
public class LoginFailedException extends BaseException {
}
...自定义的 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);
}
}上述构造方法实际上都是原样照抄 RuntimeException。
Exception 类包含 4 个构造方法,但是最常用的是下面两个:
+Exception: 构造一个没有消息的异常+Exception(message: String): 构造一个没有消息的异常大多数异常类都包含 2 个构造方法,一个带消息参数的,一个无参的