关于Spring框架中异常处理情况浅析
关于Spring框架中异常处理情况浅析,博智网带你了解详细信息 。
1.编写一个类 , 实现HandlerExceptionResolver接口@Componentpublic class ExceptionResolver implements HandlerExceptionResolver {@Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {System.out.println("异常处理器正在执行中");ModelAndView mv = new ModelAndView();if (e instanceof NullPointerException){mv.addObject("msg","空指针异常");}else if (e instanceof AccessDeniedException){mv.addObject("msg","没有访问权限");System.out.println("111---222---333");}mv.setViewName("/error.html");return mv;}}
步骤2:在类上添加@Component注解 , 将类放入容器中 。
或者在配置文件中声明该类的bean标签
<bean class="com.itheima.exception.MyExceptionResolver"></bean>
1.异常处理 实现HandlerExceptionResolver接口 同一处理所有异常,需要手动细分异常 返回类型被限定为ModelAndView
2.自定义类,类上加注解@ControllerAdvice@ControllerAdvice:声明该类是一个Controller的通知类 , 声明后该类就会被加载成异常处理器
//声明该类是一个Controller的通知类 , 声明后该类就会被加载成异常处理器@ControllerAdvicepublic class ExceptionAdvice {//类中定义的方法携带@ExceptionHandler注解的会被作为异常处理器 , 后面添加实际处理的异常类型@ExceptionHandler(NullPointerException.class)@ResponseBodypublic String doNullException(Exception ex) {return "空指针异常";} //算术异常@ExceptionHandler(ArithmeticException.class)@ResponseBodypublic String doArithmeticException(Exception ex) {return "ArithmeticException";}@ExceptionHandler(Exception.class)@ResponseBodypublic String doException(Exception ex) {return "all";}}
两种异常处理的区别:
1.第二种注解异常处理可以处理 handler 方法参数出现异常的情况 , 而第一种处理不了 。
2.第二种注解异常处理对结果更加灵活 , 可以返回ModelAndView、String、对象等 。
总结【关于Spring框架中异常处理情况浅析】到此这篇关于Spring框架中异常处理情况的文章就介绍到这了,更多相关Spring异常处理情况内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!
推荐阅读
- 关于中秋佳节的优美句子 中秋好词好句摘抄
- 关于茶的千古名句 关于茶的古诗有哪些
- 关于描写紫藤萝的优美句子 描写紫藤花的唯美段落
- 中秋节经典句子语句 关于中秋的名句有哪些
- 雞蛋燕麥粥
- 关于吃甜品的唯美句子
- 生茶油作用和功效
- 关于旅游春夏秋冬的优美句子
- 铁观音与龙井的区别
- 关于十八岁的简短句子
