异常处理思路
Controller调用service,service调用dao,异常都是向上抛出的,最终有DispatcherServlet找异常处理器进行异常的处理
springMVC的异常处理
1、首先编辑自定义的异常类,用于提示用
2、改写原先可能报错的controller
将可能报错的地方使用trycatch包裹起来,然后再将catch抛出我们自己创建的异常,在这个异常中传递进去我们想要提示的信息,此时该方法如果报错,就将我们定义的这个异常抛出去,如果我们像显示自定义的异常中存储的信息的话,就需要使用异常处理组件,这时候我们就需要自己配置一个异常处理组件了
3、异常处理类的配置
异常处理组件的类需要实现一个接口,就是HandlerExceptionResolver接口,然后实现resolveException方法
Object这个参数表示当前处理器这个对象,Exception这个参数表示传进来的异常,我们只需要在resolveExcepiton这个方法中编写处理异常的业务逻辑就可以了
获取到传递进来的Exception参数,然后将它向下转型,如果可以向下转型为我们的自定义异常类的话,我们就使用ModelAndView类来转发到友好的错误提示页面,并且将我们的错误信息存入request域中
4、配置异常处理组件
点击异常处理
成功跳转
控制台成功输出异常