首页 > 代码库 > springmvc中拦截器与springmvc全局异常处理器的问题
springmvc中拦截器与springmvc全局异常处理器的问题
最近在做一个练手的小项目,
系统架构中用了springmvc的全局异常处理器,
做了系统的统一异常处理。
后来加入了springmvc的拦截器,
为了一些需求,
在拦截器中的 preHandle 方法 中抛出了系统自定义异常,
当时有有个疑惑,
就是抛出的这个异常全局异常处理器怎么处理的。
这里的全局异常处理器时通过实现HandlerExceptionResolver这个借口实现的
要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩意可以强转成 HandlerMethod 对象 ,然后这个对象 获取 Method对象
1 Method method = handlerMethod.getMethod();
然后这个 method 是系统中抛出异常的方法。
这样理解是不正确的。
如果是这样的话,那么我在拦截器中抛出异常的话,那么这个method应该是 preHandle,
下面做了一个实验,
在拦截器中抛出了异常,
虽然是拦截器中抛出的异常,这里解析出来的method还是目标handler中的方法,
我之前理解的这个method是任何抛出异常的方法。
想想也应该是这样。
springmvc中拦截器与springmvc全局异常处理器的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。