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);
}
}



