@exceptionhandler 没有起作用,捕获不到异常

我这个项目比较老,用的 spring 版本是 spring3的。。。 springMVC没有 做 异常的拦截,,,所以我就用了 @exceptionhandler 拦截一下 异常。。。 可是发现没有起作用。。。根本没有进入这个 方法里面。。。 怎么回事?? 随便百度一下,,,也没有发现什么解决办法,,,刚开始搞定我还以为是 spring3的不兼容bug...

可是如果 写一个全局的 异常拦截类是 可以有效果的: 例子: GlobalExceptionHandler implements HandlerExceptionResolver 。。。。

不巧看到了这个:

spring配置文件中加上mvc:annotation-driven/,告知Spring启用注解驱动 。 看一下是不是配置了spring框架全局异常处理 比如basectrl中的@ExceptionHandler(Exception.class) 或者xml中SimpleMappingExceptionResolver

参考地址: https://www.zhihu.com/question/50935226

尝试了一下,果然问题解决了。。。 我的解决办法是:


例子代码:
@ExceptionHandler(Exception.class)
	@ResponseBody
	public String handleAuthorityException(Exception ex, HttpServletRequest req, HttpServletResponse response) {
		System.out.println("00000000000000");
		ex.printStackTrace();
		return "bbb";
	}


然后在mvc的xml里面配置加上即可


方式1:


方式2:
	

两种方式,随便选一种即可。。。

看来是我理解错了 : annotation-driven 了,我以为是 给 @Controller ,@RequestMapping 等这些用的,,,原来不是的。

解决办法就是这样子了。。。

转载于:https://my.oschina.net/ouminzy/blog/1531234

你可能感兴趣的:(@exceptionhandler 没有起作用,捕获不到异常)