Class AbstractHandlerMethodExceptionResolver
java.lang.Object
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver
- All Implemented Interfaces:
Ordered
,HandlerExceptionResolver
- Direct Known Subclasses:
ExceptionHandlerExceptionResolver
public abstract class AbstractHandlerMethodExceptionResolver
extends AbstractHandlerExceptionResolver
Abstract base class for
HandlerExceptionResolver
implementations that support handling exceptions from handlers of type HandlerMethod
.- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Field Summary
Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final @Nullable ModelAndView
doResolveException
(HttpServletRequest request, HttpServletResponse response, @Nullable Object handler, Exception ex) Actually resolve the given exception that got thrown during handler execution, returning aModelAndView
that represents a specific error page if appropriate.protected abstract @Nullable ModelAndView
doResolveHandlerMethodException
(HttpServletRequest request, HttpServletResponse response, @Nullable HandlerMethod handlerMethod, Exception ex) Actually resolve the given exception that got thrown during on handler execution, returning a ModelAndView that represents a specific error page if appropriate.protected boolean
Whether this resolver has global exception handlers, for example, not declared in the same class as theHandlerMethod
that raised the exception and therefore can apply to any handler.protected boolean
shouldApplyTo
(HttpServletRequest request, @Nullable Object handler) Checks if the handler is aHandlerMethod
or the resolver has global exception handlers and then delegates to the base class implementation of#shouldApplyTo
passing the bean of theHandlerMethod
if necessary.Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
addMappedHandlerClass, buildLogMessage, getMappedHandlerClasses, getOrder, hasHandlerMappings, logException, prepareResponse, preventCaching, resolveException, setMappedHandlerClasses, setMappedHandlerPredicate, setMappedHandlers, setOrder, setPreventResponseCaching, setWarnLogCategory
-
Constructor Details
-
AbstractHandlerMethodExceptionResolver
public AbstractHandlerMethodExceptionResolver()
-
-
Method Details
-
shouldApplyTo
Checks if the handler is aHandlerMethod
or the resolver has global exception handlers and then delegates to the base class implementation of#shouldApplyTo
passing the bean of theHandlerMethod
if necessary. Otherwise, returnsfalse
.- Overrides:
shouldApplyTo
in classAbstractHandlerExceptionResolver
- Parameters:
request
- current HTTP requesthandler
- the executed handler, ornull
if none chosen at the time of the exception (for example, if multipart resolution failed)- Returns:
- whether this resolved should proceed with resolving the exception for the given request and handler
- See Also:
-
hasGlobalExceptionHandlers
protected boolean hasGlobalExceptionHandlers()Whether this resolver has global exception handlers, for example, not declared in the same class as theHandlerMethod
that raised the exception and therefore can apply to any handler.- Since:
- 5.3
-
doResolveException
protected final @Nullable ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, @Nullable Object handler, Exception ex) Description copied from class:AbstractHandlerExceptionResolver
Actually resolve the given exception that got thrown during handler execution, returning aModelAndView
that represents a specific error page if appropriate.May be overridden in subclasses, in order to apply specific exception checks. Note that this template method will be invoked after checking whether this resolver applies ("mappedHandlers" etc), so an implementation may simply proceed with its actual exception handling.
- Specified by:
doResolveException
in classAbstractHandlerExceptionResolver
- Parameters:
request
- current HTTP requestresponse
- current HTTP responsehandler
- the executed handler, ornull
if none chosen at the time of the exception (for example, if multipart resolution failed)ex
- the exception that got thrown during handler execution- Returns:
- a corresponding
ModelAndView
to forward to, ornull
for default processing in the resolution chain
-
doResolveHandlerMethodException
protected abstract @Nullable ModelAndView doResolveHandlerMethodException(HttpServletRequest request, HttpServletResponse response, @Nullable HandlerMethod handlerMethod, Exception ex) Actually resolve the given exception that got thrown during on handler execution, returning a ModelAndView that represents a specific error page if appropriate.May be overridden in subclasses, in order to apply specific exception checks. Note that this template method will be invoked after checking whether this resolved applies ("mappedHandlers" etc), so an implementation may simply proceed with its actual exception handling.
- Parameters:
request
- current HTTP requestresponse
- current HTTP responsehandlerMethod
- the executed handler method, ornull
if none chosen at the time of the exception (for example, if multipart resolution failed)ex
- the exception that got thrown during handler execution- Returns:
- a corresponding ModelAndView to forward to, or
null
for default processing
-