SpringMVC异常处理

原创 2016年06月01日 22:10:18

SpringMVC异常处理分局部异常处理和全局异常处理,首先在局部异常处理中找匹配精准度最高的,若找不到就去找全局异常处理

//局部异常处理(写在当前处理器内)方法上使用@ExceptionHandler注解

@Controller
public class SpringMVCTest {
 
 @ExceptionHandler({RuntimeException.class})
 public ModelAndView handlerRuntimeException(Exception e){
  System.out.println("出异常了:"+e);
  ModelAndView mav=new ModelAndView("error");
  mav.addObject("exception", e);
  return mav;
 }
 
 @ExceptionHandler({ArithmeticException.class})
 public ModelAndView handlerArithmeticException(Exception e){ //精准度更高,优先匹配这个
  System.out.println("-->出异常了:"+e);
  ModelAndView mav=new ModelAndView("error");
  mav.addObject("exception", e);
  return mav;
 }
 
 @RequestMapping("/testExceptionHandlerExceptionResolver")
 public String testExceptionHandlerExceptionResolver(@RequestParam("i") int i){
  System.out.println("result:" +(10/i)); //i=0时发生ArithmeticException
  return "success";
 }

}

//全局异常处理(专门写一个处理器类)类上使用@ControllerAdvice注解,方法上使用@ExceptionHandler注解

@ControllerAdvice
public class HandlerExceptionHandler {

 @ExceptionHandler({ArithmeticException.class})
 public ModelAndView handlerArithmeticException(Exception e){
  System.out.println("===>出异常了:"+e);
  ModelAndView mav=new ModelAndView("error");
  mav.addObject("exception", e);
  return mav;
 }
}


springmvc三种全局异常处理

其实自己一直有想把自己的项目弄的越简洁越好,不用把项目中每个方法看起来比较臃肿,所以自己没事就去论坛,博客看别人怎么整合 今天特意写一些自己上个项目中用到的异常全局拦截处理 springmvc有三...
  • u014209975
  • u014209975
  • 2016年08月25日 10:45
  • 3341

springMVC统一异常处理

目标: 1: 异常统一处理 2: 记录异常方法的参数名称和值 系统很多地方都会抛出异常, 而Java的异常体系目标就是与逻辑解耦. 所以项目中如果每个异常都单独处理,则太...
  • shicuicui1234
  • shicuicui1234
  • 2016年11月12日 09:51
  • 678

关于合理使用SpringMVC统一异常处理机制以改善代码风格的一些思考

问题背景:统一异常处理在WEB开发中可不是一个新颖的问题,然而,根据项目的实际情况,用的恰到好处,是可以在项目中省去大量冗余代码的。在以spring/springMVC做IOC容器的web项目中,常见...
  • nmgrd
  • nmgrd
  • 2017年02月25日 14:30
  • 2466

springMVC三种异常处理方式

Spring MVC处理异常有3种方式:  (1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver;  (2)实现Spring的异常处理接口...
  • psp0001060
  • psp0001060
  • 2016年03月27日 16:40
  • 5559

SpringMVC 使用注解统一异常处理

1 描述 系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在J2EE项目的开发中,...
  • qq_33251859
  • qq_33251859
  • 2017年10月10日 17:36
  • 224

springmvc 自定义异常处理

springmvc利用HandlerExceptionResolver处理程序的异常,包括处理映射映射异常,数据绑定,处理器执行过程中发生的异常public interface HandlerExce...
  • yingxiake
  • yingxiake
  • 2016年04月14日 11:27
  • 4415

【SpringMVC学习07】SpringMVC中的统一异常处理

我们知道,系统中异常包括两类:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中,不管是da...
  • eson_15
  • eson_15
  • 2016年06月23日 20:47
  • 34266

Springmvc中异常处理的三种方式

spring MVC处理异常有3种方式: (1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver; (2)实现Spring的异常处理接...
  • QQQQQQ654
  • QQQQQQ654
  • 2017年03月25日 02:41
  • 423

Spring MVC 统一异常处理总结

在一个Spring MVC项目中,使用统一异常处理,可以使维护代码变得容易。下面总结一下常用的3种方法。实现HandlerExceptionResolver接口实现HandlerExceptionRe...
  • u011851478
  • u011851478
  • 2017年02月15日 16:10
  • 862

spring/springmvc中的统一处理异常方式

为什么需要统一处理异常框架的强大之处就在于把很多需要码农多次重复编写的代码剥离出来,形成核心的处理方式。当然这都是基于IOC和AOP,相信很多程序员在编写dao层的时候都没有进行事务的开启和关闭,只需...
  • ALearrring
  • ALearrring
  • 2017年12月26日 15:40
  • 117
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SpringMVC异常处理
举报原因:
原因补充:

(最多只允许输入30个字)