Class AbstractExceptionHandlerMethodResolver
java.lang.Object
org.springframework.messaging.handler.invocation.AbstractExceptionHandlerMethodResolver
- Direct Known Subclasses:
AnnotationExceptionHandlerMethodResolver
Cache exception handling method mappings and provide options to look up a method
that should handle an exception. If multiple methods match, they are sorted using
ExceptionDepthComparator
and the top match is returned.- Since:
- 4.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractExceptionHandlerMethodResolver
(Map<Class<? extends Throwable>, Method> mappedMethods) Protected constructor accepting exception-to-method mappings. -
Method Summary
Modifier and TypeMethodDescriptionExtract the exceptions this method handles.boolean
Whether the contained type has any exception mappings.resolveMethod
(Throwable exception) Find aMethod
to handle the given exception.resolveMethodByExceptionType
(Class<? extends Throwable> exceptionType) Find aMethod
to handle the given exception type.
-
Constructor Details
-
Method Details
-
getExceptionsFromMethodSignature
Extract the exceptions this method handles. This implementation looks for subclasses of Throwable in the method signature.The method is static to ensure safe use from subclass constructors.
-
hasExceptionMappings
public boolean hasExceptionMappings()Whether the contained type has any exception mappings. -
resolveMethod
Find aMethod
to handle the given exception.Uses
ExceptionDepthComparator
if more than one match is found.- Parameters:
exception
- the exception- Returns:
- a Method to handle the exception, or
null
if none found
-
resolveMethodByExceptionType
Find aMethod
to handle the given exception type. This can be useful if anException
instance is not available (e.g. for tools).Uses
ExceptionDepthComparator
if more than one match is found.- Parameters:
exceptionType
- the exception type- Returns:
- a Method to handle the exception, or
null
if none found - Since:
- 4.3.1
-