全局异常处理
项目开发中如果出现异常信息,例如前端传递的id没有在数据库找到,用户余额不足等等,你还在手动返回处理结果吗?不觉得看起来冗余代码太多,也不规范吗?无论正确的结果还是错误的结果都需要手动返回。如果我告诉你有这么一种方法,你只需要抛出异常,然后返回的结果就是处理后的标准结果类,你学还是不学?
- 类添加注解
- @ControllerHandler,如果需要返回数据,方法需要添加@ResponseBody
- @RestControllerAdvice,默认返回json数据,方法不需要添加@ResponseBody
- 方法添加处理器
- 捕获全局异常,处理所有不可知的异常
- @ExceptionHandler(value=Exception.class)
@RestControllerAdvice
public class CustomExceptionHandler {
@ExceptionHandler(value = Exception.class)
public JsonData handle(Exception e){
return JsonData.buildError("全局异常,未知错误");
}
}
在SpringBoot中可以和全局异常处理器搭配使用,点击跳转