覆盖spring @ExceptionHandler方法

时间:2012-03-22 10:02:25

标签: spring spring-mvc

如果我有一个带有两个SEPARATE方法的Spring Controller,一个注释为:

@ExceptionHandler(Exception.class)

和另一个注释:

@ExceptionHandler(SubException.class)

我的控制器抛出SubException.class,是否由两种方法处理,或只是@ExceptionHandler(SubException.class)

3 个答案:

答案 0 :(得分:4)

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

具体实施位于AnnotationMethodHandlerExceptionResolver.findBestExceptionHandlerMethod(Object,Exception)

答案 1 :(得分:0)

您可以创建自己的注释类,作为例外。之后,您需要提供类注释而不是Exception-handler。

如果您有任何疑问,请与我们联系。

答案 2 :(得分:0)

处理程序通常实现Spring的Ordered接口,因此您可以定义处理程序运行的顺序。

请参阅Exception Handling in Spring MVC