文章目录
一、前言
多模块项目,项目结构如图,父模块引入了spring-boot依赖
其中common模块下有一个用@ControllerAdvice和@ExceptionHandler注解实现的全局异常处理器(以下简称:处理器)
并在user模块中创建了controller层,在user模块的pom中引入了common模块的依赖,期望通过这个处理器捕捉此controller层的异常。但是运行发现处理器不起作用。
二、排查过程
@Controller的用法
首先是@ControllerAdvice,生效范围为Controller层(但是我试了一下Service层抛出的异常也会被处理,麻烦懂的大佬赐教),应该没有问题。
@ExceptionHandler的用法
然后是@ExceptionHandler的用法,通常是封装Map放入response直接返回,或者是跳转到指定页面,详情可见