公司项目用了比较完善的异常处理机制,在此做一个记录。
核心注解:@controllerAdvice+@ExpectionHandler,这个百度资料有很多。
为了让下游调用接口出现异常时,明确知道发生了什么错误,我们自己定义了一个统一的业务异常类BizExpection类,继承自RuntimeExpection.
@Data
public class BizException extends RuntimeException {
/**
* code 返回码
* msg 返回码描述
* subCode 详细返回码
* subMsg 详细返回码描述
*/
protected int code;
protected String msg;
protected String subCode;
protected String subMsg;
public BizException(int code,String msg){
this.code = code;
this.msg = msg;
}
public BizException(String subCode, String subMsg) {
super(subMsg);
this.subCode = subCode;
this.subMsg = subMsg;
}
public BizException(int code,String msg,String subCode,String subMsg){
this.code = code;
this.msg = msg;
this.subCode = subCode;
this.sub