SpringMVC 框架处理异常的常用方式:一般使用@ControllerAdvice
和@ExceptionHandler
注解处理异常。
@ExceptionHandler
使用此注解可以将一个方法定义为异常处理方法,该注解有一个属性可选value,为一个 Class<?>数组,用于指定该注解的方法所要处理的异常类,即所要匹配的异常。
而被注解的方法,其返回值可以是 ModelAndView、String,或 void,方法名随意,方法参数可以是 Exception 及其子类对象、HttpServletRequest、HttpServletResponse 等。系统会自动为这些方法参数赋值。
@ControllerAdvice
顾名思义,该注解为控制器增强,是给控制器对象增强功能的。使用@ControllerAdvice修饰的类中可以存在被@ExceptionHandler注解的方法。当后端控制器中的方法抛出异常时,框架会找到此注解下的类中被@ExceptionHandler注解的方法并执行
使用此注解时记得在MVC配置文件中添加组件扫描,需要让MVC框架扫描才可生效