处理思路:
系统异常包括两类:预期异常和运行时异常。前者通过捕获异常获取异常信息,后者主要通过规范代码开发,测试等手段减少运行时异常的发生。
系统的dao,service,controller出现异常都向上一级抛出,最后由springmvc前端控制器交由异常处理器进行异常处理。
springmvc提供全局异常处理器(一个系统只有一个)进行统一异常处理。
自定义异常类
全局异常处理器思路:
如果该异常是自定义异常,直接取出异常信息,在错误页面展示
如果该异常不是自定义异常,构造一个自定义异常类型(信息为“未知错误”)
springmvc提供了handlerExceptionResovler接口,全局异常处理器要实现该接口。
同时在spring-mvc.xml文件中声明该全局异常处理器的bean即可。
手动抛出异常:
如果与业务相关的异常,建议在service中抛出。
如果与业务无关的异常,建议在controller中抛出。