一. 概述
在前面我们看到了我们实现了HandlerExceptionResolve接口,然后就能实现了异常的统一处理了.
在springmvc之中,同时也提供了使用注解的方式进行异常的处理.
二 . ExceptionHandler注解
我们首先看下结构
public @interface ExceptionHandler { // 处理抛出的异常类型 Class<? extends Throwable>[] value() default {}; }
当我们想做一个异常解析器的时候,我们只需要声明一个方法,然后在该方法上面标记一个
@ExceptionHandler注解.
那么这个方法的作用范围就是本Controller之中.
三 . 全局异常处理器
首先看一个注解:
public @interface ControllerAdvice {
标记了该注解的类表示是一个Controller的通知类.
我们在该类之中就定义了一个全局的异常处理器.
四 .处理器方法
我们现在想知道的一个问题就是我们的处理器方法的参数可以是什么呢?
本质上,这个处理器方法就是一个handler,只不过多了一个有效的参数就是Exception.
我们通过这个被注入的Exception参数就能获取到出现的异常信息.