异常处理---SpringMVC学习笔记(十)
来源:互联网 发布:没有暖气怎么取暖 知乎 编辑:程序博客网 时间:2024/06/05 08:54
异常处理器:
springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。
异常处理思路:
系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。
系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理,如下图:
第一步:自定义异常类:
为了区别不同的异常通常根据异常类型自定义异常类,这里我们创建一个自定义系统异常,如果controller、service、dao抛出此类异常说明是系统预期处理的异常信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
第二步:自定义异常处理器:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
第三步:编写错误页面:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
第四步:在springmvc.xml配置全局异常处理器
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
第五步:异常测试
修改商品信息,id输入错误提示商品信息不存在。
修改controller方法“editItem”,调用service查询商品信息,如果商品信息为空则抛出异常:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
如果与业务功能相关的异常,建议在service中抛出异常。
与业务功能没有关系的异常,建议在controller中抛出。
上边的功能,建议在service中抛出异常。
阅读全文
0 0
- 异常处理---SpringMVC学习笔记(十)
- 异常处理---SpringMVC学习笔记(十)
- SpringMVC 学习笔记(十) 异常处理HandlerExceptionResolver
- SpringMVC学习笔记(七)处理异常
- springMVC学习笔记-异常处理
- SpringMVC学习笔记(十)
- springmvc学习笔记(29)——HandleException处理异常
- SpringMVC 异常处理HandlerExceptionResolver 笔记(八)
- SpringMVC学习(10):异常处理
- SpringMVC学习(五)--异常处理
- 《InsideC#》笔记(十) 异常处理
- Springmvc学习(06)-异常处理
- springmvc学习笔记(30)——ResponseStatus注解处理异常
- springmvc学习笔记(30)——ResponseStatus注解处理异常
- 异常处理学习笔记
- SpringMVC学习笔记(3)-----表单处理
- python的学习(十)----异常处理(1)
- SpringMVC学习系列(10) 之 异常处理
- iOS 11 Beta 7 20多个改变汇总:主要是各种优化
- 一道腾讯的面试题,关于a和&a
- FZU2282-Wand
- docker 配置加速镜像
- 动画层
- 异常处理---SpringMVC学习笔记(十)
- 367. Valid Perfect Square
- JAVA 对象引用,以及对象赋值
- 深度学习浅析,以及又拍云图片鉴别的实践进阶
- 程序员为什么不会修电脑
- 每天一个linux命令(15):tail 命令
- caffe-segnet安装
- 移动Web开发图片自适应两种常见情况解决方案
- sizeof与strlen的区别(详解)