@ControllerAdvice
本文描述用法,关于原理与深入理解,可能后期再补充
使用场景:
- 全局异常处理
- 全局数据绑定
- 全局数据预处理
全局数据绑定与全局数据处理目前很少用,但是可能去了解,主要多用于全局异常处理
全局异常处理使用:
1、在类上加上该注解:
@ControllerAdvice public class MyGlobalExceptionHandler { }
2、编写异常拦截方法:
@ExceptionHandler(Exception.class) public CommonResult customException(Exception e) { log.error(e.toString(), e.getMessage()); return CommonResult.newInstanceFail(ConstantsEnum.SERVER_ERROR, e.getMessage()); }
该方法的返回值与方法名可以随意取,注解@ExceptionHandler中的异常类名,是对那种异常捕捉就写哪个异常类名,比如空指针异常,指针越界之类的, Exception.class代表全部异常,在方法体中处理返回值......
至此全局捕捉异常处理完毕了.....