spirngboot中提供了注解@ControllerAdvice和@RestControllerAdvice,来开启一个全局的统一异常处理,也就是说只要有异常且配置了对应异常类型。还有一个注解@RestControllerAdvice是对应返回Json数据的,实际开发中根据不同需求用不同注解。例如在前后端分离的开发环境中,需要返回Json数据就用@RestControllerAdvice
例如:( @ExceptionHandler(BussinessException.class)),就能捕获到对应的异常而不用再手动进行try catch,下文中的BusinessException和ParamException是自定义的异常
示例如下:
@ControllerAdvice
public class CommonExceptionAdvice { @ExceptionHandler(BussinessException.class) public JsonResult<?> BussinessExceptionHandler(BussinessException bx) { return JsonResult.error(bx.getCode(),bx.getMsg(),null); } @ExceptionHandler(ParamException.class) public JsonResult<?> ParamExceptionHandler(ParamException px) { return JsonResult.error(px.getCode(),px.getMsg(),null); } }