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 (for example, 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
-