在Java中又很多已经定义好的异常类,但是这并不够用,比如系统在运行时出现的错误,如访问失败,登录失败,我们不能都给抛出一个运行时异常,这样会造成错误。
自定义异常
为了区分不同的异常,我们通过继承运行时异常类来自定义访问失败异常,登录失败异常等,在字面意思上对不同的异常进行分离,比如访问失败异常取名为AccessForbiddenException,登录失败异常取名为LoginFailedException,这边以登录失败异常为例:
public class LoginFailedException extends RuntimeException {
private static final long serialVersionUID = -1858746373532741422L;
public LoginFailedException(){
super();
}
public LoginFailedException(String message, Throwable cause, Boolean enableSuppression, Boolean writableStackTrace){
super(message, cause, enableSuppression, writableStackTrace);
}
public LoginFailedException(String message, Throwable cause){
super(message, cause);
}
public LoginFailedException(Throwable cause){
super(cause);
}
public LoginFailedException(String message){
super(message);
}
}
需要在自定义异常类中定义五个构造方法,方法内部就调用父类的构造方法即可。其使用与运行时异常类使用方法一样。