文档章节

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

之渊
 之渊
发布于 2017/09/07 13:43
字数 357
阅读 159
收藏 0

我这个项目比较老,用的 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里面配置加上即可

<!-- 解决@ExceptionHandler的@ResponseBody中文乱码 ,,加上这个@ExceptionHandler 就起作用了。。就不需要 mvc:annotation-driven 配置也是可以的  -->
方式1:
<!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver">
	    <property name="messageConverters">
	        <list>
	            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
	                <constructor-arg value="UTF-8"/>
	            </bean>
	        </list>
	    </property>
	</bean> -->

方式2:
	<mvc:annotation-driven />

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

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

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

© 著作权归作者所有

共有 人打赏支持
之渊
粉丝 11
博文 520
码字总数 154962
作品 0
佛山
程序员
sprintboot-learn(三)

全局异常处理 太简单,没有保存示例工程 方式1: 启动,测试结果: Value表示捕捉那些异常,是一个异常组,如果有多个异常,可以用{}括起来。建议都用exception,然后用instenceof判断,或者...

lazy~
10/12
0
0
Spring全局异常处理器

为什么全局异常处理器对于同一个方法,通过正常的web访问流程能捕获到异常,但通过定时器去访问这个方法就捕获不到异常了,是定时器有什么特殊姿势,还是全局异常处理器的实现问题呢? 全局异...

千青
2017/10/17
96
3
SpringMVC中的统一异常处理-自定义异常

https://www.cnblogs.com/shanheyongmu/p/5872442.html 我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、...

wangwei2134
08/20
0
0
ASP.NET Web API 2中的错误处理

前几天在webapi项目中遇到一个问题:Controller构造函数中抛出异常时全局过滤器捕获不到,于是网搜一把写下这篇博客作为总结。 HttpResponseException 通常在WebAPI的Controller中抛出的未处...

雪飞鸿
2017/10/21
0
0
SpringBoot之自定义异常的两种方式-yellowcong

Springboot异常的处理,可以通过一下几种方法,1、使用@ControllerAdvice来进行统一异常处理,@ExceptionHandler(value = Exception.class)来指定捕获的异常 ;2、通过自定义BasicErrorContr...

yelllowcong
04/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java序列化(七) - fst 序列化

java序列化(七) - fst 序列化 github https://github.com/RuedigerMoeller/fast-serialization 实践 https://gitee.com/mengzhang6/serializable-demo.git maven依赖 <!-- https://mvnrepo......

晨猫
2分钟前
0
0
智力问题汇总

南京新建地铁线路,给你2块钱,测出来需要配置多少辆车? 参考答案:根据地铁有固定时间间隔,坐一圈该线路,推算出需要多少辆。 一共50张卡片,上面写着1--50 ,50个数字,藏起来一张,打乱...

职业搬砖20年
6分钟前
0
0
ZFS-自我恢复RAID

ZFS-自我恢复RAID 这个给了我一个简单而又强大的理由,让我立马为之折服,ZFS可以自动的检测发生的错误,而且,可以自我修复这些错误。假设有一个时刻,磁盘阵列中的数据是错误的,不管是什么...

openthings
15分钟前
1
0
从Hash到一致性Hash原理(深度好文)

要讲一致性Hash原理,先从一般性Hash讲起,其实Hash的本质就是一个长度可变的数组,那为什么Hash的时间复杂度是O(1),而其他类型的数据结构查找都是要遍历来,遍历去,即便是树,二叉树,也是要经过几...

算法之名
28分钟前
8
0
软件测试工具书籍与面试题汇总下载(持续更新)

简介 本文是https://github.com/china-testing/python-api-tesing/blob/master/books.md 的节选。 欢迎转载,转载请附带此简介,谢谢! 试题 软件测试综合面试题(高级测试)-试题.pdf 软件测试...

python测试开发人工智能安全
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部