假设我在我的应用程序中使用@ExceptionHandler。
如果我定义:
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(value = Exception.class)
public boolean generic(Exception e) {
return e;
}
@ExceptionHandler(value =MyException.class)
public boolean myException(MyException e) {
return e;
}
}我的控制器抛出一个 MyException ,是否也会触发泛型异常处理程序,或者只执行与其最佳匹配的异常(这里是MyException处理程序)?
发布于 2017-08-11 13:47:02
异常处理程序将首先尝试查找特定于的异常(MyException)处理程序,否则将尝试查找泛型异常(Exception)。
因此,对于您的示例,当控制器throw MyException时,处理程序将调用MyException处理程序。
异常参数:声明为一般异常或更具体的异常。如果注释本身不通过其{@link #value()}缩小异常类型,则这也用作映射提示。请求和/或响应对象(Servlet或Portlet )。
https://stackoverflow.com/questions/45636696
复制相似问题