springMVC中过滤器抛出异常,自定义异常捕获

在过滤器中引入org.springframework.web.servlet.HandlerExceptionResolver

java 复制代码
    @Autowired
    @Qualifier("handlerExceptionResolver")
    private HandlerExceptionResolver resolver;
// doFilter中处理
            if (条件1) {
                if (条件2) {
                    resolver.resolveException(request, response, null, new Myself403ForbiddenException("403ForbiddenException"));
                    return;
                }
                filterChain.doFilter(servletRequest, servletResponse);
                return;
            }

Spring Boot全局异常处理@RestControllerAdvice只会捕获所有Controller层抛出的异常,在filter当中抛出的异常GlobalExceptionHandler类是感知不到的,所以在filter当中抛出的异常最终会被Spring框架自带的全局异常处理类BasicErrorController捕获

附:https://blog.csdn.net/m0_37731470/article/details/116754395

相关推荐
WiChP41 分钟前
【V0.1B5】从零开始的2D游戏引擎开发之路
java·服务器·数据库
cch89181 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神2 小时前
拉链表概念与基本设计
java·开发语言·数据库
cch89182 小时前
汇编与Go:底层到高层的编程差异
java·汇编·golang
chushiyunen2 小时前
python中的@Property和@Setter
java·开发语言·python
禾小西2 小时前
Java中使用正则表达式核心解析
java·python·正则表达式
yoyo_zzm2 小时前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
APIshop2 小时前
Java获取京东商品详情接口(item_get)实战指南
java·linux·数据库
Mr.Entropy2 小时前
springboot2.x集成Flyway
java