Springboot项目中使用@RestControllerAdvice注解不生效排查思路

在后端编写业务逻辑时,可能会遇到异常抛出处理的情况,后端通常会通过throw出一个异常,然后通过@RestControllerAdvice注解标注自定义类进行统一处理,前端再将接收到的结果解析。

异常处理类 @RestControllerAdvice @Slf4j public class GlobalExceptionHandler { /** * 基础异常 */ @ExceptionHandler(BaseException.class) public ResultVo baseException(BaseException e) { log.error("base exception: {}", e.getMessage()); return ResultVo.error(e.getMessage()); } } 排查思路

检查异常处理类是否被Spring管理,@SpringbootApplication默认扫描本包和子包;如果为扫描到,使用@SpringbootApplication(scanBasePackages="xxx.xxx")

检查项目中的切面编程,查看是否在某个切面将异常try-catch,然后没有扔出来。常见的就是切面的环绕处理,捕获了异常忘记抛出来。

本人的问题:使用切面的环绕处理,记录日志,日志分为成功、失败、异常,所有将异常捕获处理了。
解决办法:捕获异常之后,然后再将异常抛出来就可以了。

原文链接:
特此记录下,以便后续查看

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywwsf.html