覆盖spring @ExceptionHandler方法

mog*_*lol 4 spring spring-mvc

如果我有一个带有两种SEPARATE方法的Spring Controller,则用以下方法注释:

@ExceptionHandler(Exception.class)
Run Code Online (Sandbox Code Playgroud)

另一个注释:

@ExceptionHandler(SubException.class)
Run Code Online (Sandbox Code Playgroud)

然后我的控制器抛出异常SubException.class,这是由两种方法处理还是仅由两种方法处理@ExceptionHandler(SubException.class)

Gar*_*vis 5

一个处理程序将在最合适的基础上被调用。

确切的实现在 AnnotationMethodHandlerExceptionResolver.findBestExceptionHandlerMethod(Object,Exception)