Springmvc全局异常

处理思路:

       系统异常包括两类:预期异常和运行时异常。前者通过捕获异常获取异常信息,后者主要通过规范代码开发,测试等手段减少运行时异常的发生。

      系统的dao,service,controller出现异常都向上一级抛出,最后由springmvc前端控制器交由异常处理器进行异常处理。

      Springmvc全局异常

springmvc提供全局异常处理器(一个系统只有一个)进行统一异常处理。


自定义异常类

Springmvc全局异常

全局异常处理器思路:

       如果该异常是自定义异常,直接取出异常信息,在错误页面展示

       如果该异常不是自定义异常,构造一个自定义异常类型(信息为“未知错误”)

       springmvc提供了handlerExceptionResovler接口,全局异常处理器要实现该接口。

      Springmvc全局异常

Springmvc全局异常

同时在spring-mvc.xml文件中声明该全局异常处理器的bean即可。

手动抛出异常:

       如果与业务相关的异常,建议在service中抛出。

       如果与业务无关的异常,建议在controller中抛出。