文档章节

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

之渊
 之渊
发布于 2017/09/07 13:43
字数 357
阅读 63
收藏 0
点赞 0
评论 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
博文 492
码字总数 144126
作品 0
佛山
程序员
Spring全局异常处理器

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

千青 ⋅ 2017/10/17 ⋅ 3

ASP.NET Web API 2中的错误处理

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

雪飞鸿 ⋅ 2017/10/21 ⋅ 0

Spring MVC 全局的异常处理

1、使用SimpleMappingExceptionResolver实现异常处理   在Spring的配置文件applicationContext.xml中增加以下内容: <bean class="org.springframework.web.servlet.handler.SimpleMapping......

chaun ⋅ 2015/09/21 ⋅ 0

Disruptor技术调研之EventHandler

com.lmax.disruptor.EventHandler<T> Callback interface to be implemented for processing events as they become available in the RingBuffer 用于提供对RingBuffer中当事件可用时的接口......

nj-zhangmq ⋅ 2016/05/01 ⋅ 0

SpringBoot之自定义异常的两种方式-yellowcong

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

yelllowcong ⋅ 04/06 ⋅ 0

Spring MVC 系统异常处理方式及性能对比

大部分公司所用的Spring框架版本是3.1版本以下,所以今天暂时总结3.1版本的Spring-MVC异常处理方式。 一、Spring MVC处理异常有3种方式: (1)使用Spring-MVC提供的SimpleMappingExceptionR...

Candy_Desire ⋅ 2014/10/17 ⋅ 5

spring mvc 统一异常处理

1、定义一个统一异常处理类 @ControllerAdvice,是spring3.2提供的新注解, 一般扫描context:component-scan扫描时也能扫描到,不需要在配置文件配置 但如果你的spring-mvc配置文件使用如下方...

qiun ⋅ 2016/06/24 ⋅ 0

Spring Boot配置全局异常捕获

1 SpringBoot配置全局的异常捕获 项目的说明 配置thymeleaf作为视图模板 ExceptionController.java模拟测试用 MyAjaxExceptionHandler.java捕获到异常以ajax形式返回 MyExceptionHandler.jav...

yysue ⋅ 06/13 ⋅ 0

Spring @ControllerAdvice 注解

通过@ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置。 注解了@Controller的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。 @ControllerA...

Kevin-air ⋅ 2016/07/04 ⋅ 1

springmvc 统一处理exception

用 @ExceptionHandler注解实现异常统一处理: public class BaseController { private static final Logger logger = LoggerFactory.getLogger(BaseController.class); @ExceptionHandler(Ex......

北京_ ⋅ 2015/05/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

R计算IV

参考文章 #读取文件 rawdata = read.csv("/path/to/csv/file",header=T) colnames(rawdata)[18] <- "y" //重命名因变量y #数据分区 训练集测试集 trainIdx <- sample(nrow(rawdata), round(......

火力全開 ⋅ 9分钟前 ⋅ 0

SQL老司机,在SQL中计算 array & map & json数据

摘要: 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primitive类型的数据。 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primi...

阿里云云栖社区 ⋅ 9分钟前 ⋅ 0

SQL老司机,在SQL中计算 array & map & json数据

摘要: 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primitive类型的数据。 场景 通常,我们处理数据,一列数据类型要么是字符串,要么是数字,这些都是primi...

猫耳m ⋅ 20分钟前 ⋅ 0

关于ireport自定义变量类型为list的时候

自己摸石头过河,我真的应该去趟市中心图书馆,借本真正靠谱的教材 网上的东西,只有0.01%是有用的,还有0.99%是垃圾,剩下的99%是垃圾的复制品。。 哎!~ 问题是这样的,报表带sql,从db中获...

炑炑milina ⋅ 20分钟前 ⋅ 0

Spring mvc ContextLoaderListener 原理解析

对于熟悉Spring MVC功能,首先应从web.xml 开始,在web.xml 文件中我们需要配置一个监听器 ContextLoaderListener,如下。 <!-- 加载spring上下文信息,最主要的功能是解析applicationContex...

轨迹_ ⋅ 21分钟前 ⋅ 0

阿里云发布企业数字化及上云外包平台服务:阿里云众包平台

摘要: 阿里云正式发布旗下众包平台业务(网址:https://zhongbao.aliyun.com/),支持包括:网站定制开发,APP、电商系统等软件开发,商标、商品LOGO、VI、产品包装设计、营销推广、大数据人...

阿里云官方博客 ⋅ 23分钟前 ⋅ 0

Redis安装异常解决办法

官网地址:http://redis.io/ 官网下载地址:http://redis.io/download 1. 下载Redis源码(tar.gz),并上传到Linux 2. 解压缩包:tar zxvf redis-2.8.17.tar.gz 3. 进入解压缩后的文件夹:c...

slagga ⋅ 27分钟前 ⋅ 0

006. 深入JVM学习—年轻代

1. 年轻代图片 年轻代(Young)属于JVM堆内存空间的一个组成部分 所有使用关键字new新实例化的对象一定会在伊甸园区进行保存,而对于存活区保存的一定是已经在伊甸园区存在一段时间并且经过了...

影狼 ⋅ 28分钟前 ⋅ 0

如何成为一个合格的程序员

偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员...

柳猫 ⋅ 29分钟前 ⋅ 0

cups error_log日志暴增

日志内容 File \"/usr/lib/cups/notifier/dbus\" has insecure permissions 解决(未验证适用范围) sudo service cups stopsudo rm /etc/cups/subscriptions.conf*sudo rm -r /var/cac......

一介码夫_Hum ⋅ 32分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部