自定义异常:
// 虽然java已经为我们创建了很多异常类,但是可能还是满足不了我们的额需求,所以我们就可以自定义异常类进行异常处理
// Exception里边有很多构造方式,我们都可以自定义成员变量来继承他们
// 用来抛出异常用的
// 这个的话,我是里边多加了一个字段,如果全局异常用泛型的话,要么判断强转,要么就是把里边自定义的属性值
// 放在自定义返回类型上
@Data
@NoArgsConstructor
public class AAAException extends RuntimeException {
private Integer code;
public AAAException(String message, Integer code) {
super(message);
this.code = code;
}
}
全局异常处理:
@RestControllerAdvice
public class GlobalException {
@ExceptionHandler
public R handlerException(Exception e){
if (e instanceof AAAException){
R r=new R();
r.setSuccess(false);
r.setCode(((AAAException) e).getCode());
r.setMsg(e.getMessage());
return r;
}else {
return R.error().data("msg",e.getMessage());
}
}
}