//此类的作用是赋值controller,类中定义的方法长用@ExceptionHandler注解搭配使用
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public R error(Exception e){
e.printStackTrace();
return R.error().message("出错了");
}
//语法异常
@ExceptionHandler(BadSqlGrammarException.class)
@ResponseBody
public R error(BadSqlGrammarException e){
e.printStackTrace();
return R.error().code(ResultCode.SQL_ERROR).message("SQL语法错误");
}
// 自定义异常的状态码
@ExceptionHandler(EduException.class)
@ResponseBody
public R error(EduException e){
e.printStackTrace();
return R.error().code(e.getCode()).message(e.getMsg());
}
}
//自定义异常
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "全局异常")
public class EduException extends RuntimeException{
//
@ApiModelProperty(value = "状态码")
private Integer code;
//
@ApiModelProperty(value = "异常消息")
private String msg;
}