在实际项目中,避免不了异常的处理;如何更高效、更快捷的处理异常了?
我们可以通过@ControllerAdvice与@ExceptionHandler注解的配合使用来完成异常的统一处理
@ControllerAdvice
public class GlobalExceptionHandle {
//空指针异常处理
@ExceptionHandler(value = NullPointerException.class)
@ResponseBody
public ResponseBase error(NullPointerException e) {
ResponseBase responseBase = new ResponseBase();
responseBase.setError(ResultCodeEnum.NULL_POINT.getMsg(), ResultCodeEnum.NULL_POINT.getCode());
return responseBase;
}
}
- @ControllerAdvice是对Controller的增加,除了使用于全局统一异常处理,还可以用于全局数据绑定、全局数据预处理。
- @ExceptionHandler用于指定需要那些异常,如此处的NullPointerException异常,同时也可以自定义异常