疙瘩陈 2018-08-06 07:17 采纳率: 40%
浏览 4074
已结题

SpringBoot拦截不到异常

代码是这样子的图片说明

这个故意查找数据库中没有的数据异常被拦截到了

这种404的问题居然拦截不到

还有这个异常我干脆也写到第一张图的数组里面去了也拦截不到

这是为什么?

  • 写回答

2条回答 默认 最新

  • 玄尺 2018-08-06 07:39
    关注

    @controllerAdvice只是针对controller异常进行AOP拦截,这种异常都是5XX,也就是服务器内部逻辑异常。
    针对404异常,这种异常是在servlet端就有可能就被拦截到了,如果没有配置可能会在springMVC出抛出问题,不会走到controller,所以通过@controllerAdvice拦截不到这个异常。
    总结一下:
    1、针对404这种异常单独处理,比如转到异常页面等
    2、针对controller接口中异常处理,这种一般我们是希望通过throw异常的方式处理异常状态码,减少代码中的if-else

    评论

报告相同问题?