@ExceptionHandler(value = BizException.class)
@ResponseBody
public MZResponse onException(BizException exception) {
log.info("biz_exception", exception);
if (StringUtils.isNumeric(exception.getErrCode())) {
return MZResponse.failure(Integer.parseInt(exception.getErrCode()), exception.getMessage());
}
return MZResponse.failure(ErrorCodes.BIZ_EXCEPTION, exception.getMessage());
}
按着配置来说应该可以捕获到异常信息,但是并没有运行到这段代码。最后发现是一个很坑的问题
@ControllerAdvice(basePackages = {
"com.study.service.user"
})
最终的原因也是因为@ControllerAdvice注解 引没有扫描到package导致的,把自己新加的package配置好就可以正常捕获了
博客内容讲述了在Spring MVC应用中,使用@ControllerAdvice和@ExceptionHandler注解处理BizException类异常时遇到的问题。由于@ControllerAdvice注解未扫描到指定的包,导致异常处理代码未被执行。解决方法是正确配置basePackages属性,确保新增的包被包含在内,从而能捕获并处理BizException。
20万+

被折叠的 条评论
为什么被折叠?



