diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java index 2ee4addf6b..c8f7a15974 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java @@ -381,9 +381,12 @@ public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExce } } catch (Throwable invocationEx) { - if (logger.isWarnEnabled()) { + // Any other than the original exception is unintended here, + // probably an accident (e.g. failed assertion or the like). + if (invocationEx != exception && logger.isWarnEnabled()) { logger.warn("Failed to invoke @ExceptionHandler method: " + exceptionHandlerMethod, invocationEx); } + // Continue with default processing of the original exception... return null; }