springmvc提供全局异常处理器进行统一异常处理(一个系统只有一个异常处理器)
自定义的异常类
对不同的异常类型定义异常类,异常类继承Exception
系统自定义异常类,针对预期的异常需要再程序中抛出此类的异常
全局的异常处理器
思路:
系统遇到异常,在程序中抛出,dao抛给Service,Service抛给Controller,Controller抛给前端控制器,前端控制器调用全局异常处理器。
全局异常处理器处理思路:
首先解析出异常类型。如果该异常类型是系统自定义异常,直接取出异常信息,在错误界面展示。
如果该异常类型不是系统自定义异常,构造一个自定义的异常类型(信息为“未知错误”)
全局异常处理器要实现HandlerExceptionResolver接口
注意:形参handler就是处理器适配器执行的handler对象(只有一个method方法)
ex就是系统抛出的异常
下面代码是上面类中异常处理的逻辑代码
错误的jsp界面
注意写了多个全局异常处理器,只有一个会起作用
在Controller中抛出异常
在Service层抛出异常信息