springMVC异常处理

63 阅读1分钟

单个异常处理@ExceptionHandler

在系统当中,Dao,Service,Controller层代码出现都可能抛出异常。如果那里产生异常,就在哪里处理,则会降低开发效率。所以一般情况下我们会让异常向上抛出,最终到达DispatcherServlet中,此时SpringMVC提供了异常处理进行异常处理,这样就可以提高开发效率。

image.png 在处理单个异常的方法的上方添加 @ExceptionHandler 注解,表示该方法是处理异常的方法,属性为处理异常的类。

image.png

image.png

image.png

全局异常处理@ControllerAdvice

在控制器中定义异常处理方法只能够处理该控制器的异常,要想处理所有控制器的异常,需要定义全局异常处理类。

在全局异常处理类上方添加 @ControllerAdvice 注解,再在每个方法上方添加 @ExceptionHandler 注解,其属性设置相对应的异常处理的类即可。

自定义异常处理器 HandlerExceptionResolver接口

自定义异常处理器需要实现 HanderExceptionResolver接口