SpringMVC中使用ExceptionHandler注解处理异常
- 在带有异常信息的Controller类中, 添加一个用@ExceptionHandler({异常类型1.class,异常类型n.class})注解标识的方法.
@ExceptionHandler({ArithmeticException.class,NullPointerException.class})
- 可以使用Exception作为入参,来接受发生具体异常信息.
- 如果需要将异常的详细信息交给页面显示,不能使用Map作为入参进行异常信息传递.只能通过返回ModelAndView的形式传递.
- 如果Controller类中有多个**@ExceptionHandler**修饰的异常处理方法.发生异常时,会根据发生异常的具体信息,进行查找匹配(先子类后父类)来决定调用哪个处理方法.
- 这种方式只能处理当前 Controller类中发生异常.
- 在自定义类上添加@ControllerAdvice注解,并在该类中添加@ExceptionHandler注解的方法
如果发生了异常,springmvc会在执行业务方法的Controller类中查找有没有该异常对应的处理方法
如果有就直接使用这个方法处理异常,如果没有,就会查找@ControllerAdvice注解类中有没有对应的处理方法.
总结:主要用在统一异常处理。碰到同一个异常可以统一合并处理!
博主:点赞的都是帅锅,美女哦!!!💕💕💕