一、在Controller内处理局部异常
@ExceptionHandler(value={ArithmeticException.class}) public ModelAndView handlExecution(Exception ex){ ModelAndView mView=new ModelAndView(); mView.setViewName("error"); mView.addObject("exception",ex); System.out.println("Controller内部异常处理"); return mView; } @RequestMapping("/testExection") public String testExection(@RequestParam(value="id") Integer id){ System.out.println(10/id); return "success"; }
二、处理全局异常---------定义一个异常处理了(官网:www.fhadmin.org)
package com.neuedu.springmvc.execption; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; /* * 项目名称:springmvc-03 * @author:wzc * @date 创建时间:2017年8月24日 下午3:31:09 * @Description:处理全局异常的类 * @parameter (官网:www.fhadmin.org) * */ @ControllerAdvice public class MyExcption { @ExceptionHandler(value={ArithmeticException.class}) public String handlExecution(Exception ex){ return "error"; } }
条件:
1.加上<mvc:annotation-driven>标签:
2.在当前Handler中定义由@ExceptionHandler注解修饰的方法,用于处理异常信息!
注意:
1.@ExceptionHandler方法修饰的入参中可以加入Exception类型的参数,该参数即对应发生的异常信息
2.@ExceptionHandler方法的入参中不能传入Map.若希望把异常信息传到页面上,需要使用ModelAndView作为方法的返回值。
3.@ExceptionHandler 注解定义的方法优先级问题:
例如发生的是NullPointerException,但是声明的异常有 RuntimeException 和 Exception,
此候会根据异常的最近 继承关系找到继承深度最浅的那个 @ExceptionHandler 注解方法,即标记了 RuntimeException 的方法
4.ExceptionHandlerMethodResolver 内部若找不 到@ExceptionHandler 注解的话,会找@ControllerAdvice 中的@ExceptionHandler 注解方法
三、在配置中配置异常处理
<!-- 配置异常处理 -->
<!-- 配置异常处理 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <!-- 处理的错误异常类型,以及跳转的页面 --> <prop key="java.lang.ArithmeticException">error</prop> </props> </property> </bean>
相关推荐
springmvc异常处理的博文如下: http://blog.csdn.net/dlf123321/article/details/50756003
SSM笔记-SpringMVC的异常处理,包含了ExceptionHandler注解、ResponseStatusExceptionResolver、DefaultHandlerExceptionResolver、SimpleMappingExceptionResolver的使用和试验
异常一层一层的向上抛出,但是开发人员肯定不想要用户看到代码出错,因此需要将异常屏蔽了,SpringMVC提供了异常处理的手段。
SpringMVC中异常处理机制,简单案例,里面有详细说明以及博客说明。
本视频针对博客内容,讲解springMVC框架中的统一异常处理的知识点和实例,以及500错误和404错误异常处理上的区别,简单易懂,言简意赅。
12SpringMVC异常处理.md
springmvc返回json的全局异常统一处理demo,有问题可以留言。
Maven+SpringMVC实现统一异常处理
springMVC3学习(八)--全局的异常处理(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/26286435
本文档主要介绍了SpringMVC的ModelAndView机制,使用SpringMVC实现文件上传,下载以及全局异常处理机制
SpringMVC处理全局异常在使用Shiro权限控制框架后,如果使用注解在Controller控制访问的角色,如果权限不足,就会抛出Authorization
那么,能不能将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护?答案是肯定的。下面将介绍使用Spring MVC统一处理异常的解决和实现过程。
1. SimpleMappingExceptionResolver类 1.配置文件springmvc.xml 1.在后端抛出异常对象,例如 2.SimpleMa
主要介绍了springmvc如何进行异常处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
NULL 博文链接:https://gaojiewyh.iteye.com/blog/1297746
通过aop拦截获取json请求数据,对数据进行处理判断,如果不合法则抛出异常,配置全局异常处理类,在异常处理类中直接将处理结果返回调用处,减少每次在方法中解析json数据然后在判断,减少代码冗余
这篇文章主要介绍了SpringMVC-统一异常处理三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在 Spring MVC 应用的开发中,不管是对底层数据库操作...
SpringMVC通过HandlerExceptionResolver接口来处理程序的异常,包括Handler映射、数据绑定和目标方法执行时发生的异常。 主要测试HandlerExceptionResolver的具体实现类的具体用法
目录结构 四、配置一个错误的方法 package edu.xiao;...import edu.xiao.exception.SystemExc;...import org.springframework.stereotype.Controller;...import org.springframework.web.bind.annotation....