SpringMVC 之异常处理(六)

一、异常处理思路:

系统中异常包含俩类:

  1. 预期异常;
  2. 运行时异常(RuntimeException);

前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试来减少运行时异常的发生。

系统的 dao、service、controller 出现都通过 throws Exception 向上抛出,最后由 springmvc 前端控制器交由异常处理器进行异常处理,如下图:


二、自定义异常类



      

三、全局异常处理器

思路:

 系统遇到异常,在程序中手动抛出,dao 抛给 service、service 给 controller、controller 抛给前端控制器,前端控制器调用全局异常处理器。

         全局异常处理器处理思路:

  1. 解析出异常类型
  2. 如果该 异常类型是系统 自定义的异常,直接取出异常信息,在错误页面展示
  3.  如果该 异常类型不是系统 自定义的异常,构造一个自定义的异常类型(信息为“未知错误”)



四、错误页面



五、在 springMVC.xml 中配置全局异常处理器



六、异常测试

在产品修改的 controller 方法中抛出异常:


在 service 接口中抛出异常:



七、总结:

  • 如果与业务功能相关的异常,建议在 service 中抛出异常。
  • 与业务功能没有关系的异常,建议在 controller 中抛出。

上边的空异常,建议在 service中 抛出异常。




猜你喜欢

转载自blog.csdn.net/qq_30715329/article/details/81054119
今日推荐