自定义异常要点:
- 自定义异常一般继承运行时异常,否则调用方需要显示处理异常
- 构造方法注意传入errorMsg,调用父类构造,这样打印的日志才会打印异常信息,如下xxxx
- 异常状态码的定义:通用0500,前端响应拦截器对该状态码进行统一弹窗等处理。错误枚举类型定义其它一些状态码,主要定义需要前端特殊处理的状态码。
@Getter
public class CommonException extends RuntimeException {
private String errorCode;
private String errorMsg;
public CommonException(String errorMsg) {
super(errorMsg);
this.errorCode = "0500";
this.errorMsg = errorMsg;
}
public CommonException(ErrorEnum errorEnum) {
super(errorEnum.getMsg());
this.errorCode = errorEnum.getCode();
this.errorMsg = errorEnum.getMsg();
}
public static void main(String[] args) {
throw new CommonException("xxxxx");
}
}
Exception in thread "main" com.construn.vehicle.common.exception.CommonException: xxxxx
at com.construn.vehicle.common.exception.CommonException.main(CommonException.java:47)Process finished with exit code 1