SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用

为了统一异常,我们通常定义一个统一管理所有Exception,包括自定义Exception的ExceptionHandle

@ControllerAdvice拦截控制器

@ExceptionHandler(value=Exception.class)拦截句柄


之前好用,但是整理了一下文件,放在了Exception文件夹,各种检查发现,就是这个Controller根本不起作用,发生异常也跳不进来,代码没问题,在网上看也有很多人碰到了这个问题

SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用_第1张图片

所以我一看,果然没有这个图标,代表识别为Spring的一个Bean,呵呵呵呵。。。所以识别不出来

然后我像之前一样把ExceptionHandle.java单放一个文件夹就Ok,放在Contoller Service等等其他文件夹都可以识别,特点就是原有文件夹已有可以识别的bean


所以

作为一个@ControllerAdvice, ExceptionHandle.java要单独存放文件夹  

或者已有bean的文件夹,否则和其他非bean文件放在一起就识别不出来。

大家一定小心这个坑!这个经验对大家判断某个类或接口是否作为SpringBean识别,解决其他问题也非常有用!


1)未识别的ExceptionHandle,没有

SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用_第2张图片

2)识别的ExceptionHandle,有

SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用_第3张图片


你可能感兴趣的:(SpringBoot 自定义异常@ContollerAdvice ExceptionHandler不起作用)