org.springframework.messaging.handler.invocation

## Class AbstractExceptionHandlerMethodResolver

- java.lang.Object
- - org.springframework.messaging.handler.invocation.AbstractExceptionHandlerMethodResolver

- Direct Known Subclasses:
    AnnotationExceptionHandlerMethodResolver

      public abstract class AbstractExceptionHandlerMethodResolver
      extends Object

  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

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractExceptionHandlerMethodResolver(Map<Class<? extends Throwable>,Method> mappedMethods)` Protected constructor accepting exception-to-method mappings.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static List<Class<? extends Throwable>>` | `getExceptionsFromMethodSignature(Method method)` Extract the exceptions this method handles.This implementation looks for sub-classes of Throwable in the method signature.
    `boolean` | `hasExceptionMappings()` Whether the contained type has any exception mappings.
    `Method` | `resolveMethod(Exception exception)` Find a method to handle the given exception.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractExceptionHandlerMethodResolver

          protected AbstractExceptionHandlerMethodResolver(Map<Class<? extends Throwable>,Method> mappedMethods)

      Protected constructor accepting exception-to-method mappings.

  - ### Method Detail

    - #### getExceptionsFromMethodSignature

          protected static List<Class<? extends Throwable>> getExceptionsFromMethodSignature(Method method)

      Extract the exceptions this method handles.This implementation looks for sub-classes of Throwable in the method signature. The method is static to ensure safe use from sub-class constructors.

    - #### hasExceptionMappings

          public boolean hasExceptionMappings()

      Whether the contained type has any exception mappings.

    - #### resolveMethod

          public Method resolveMethod(Exception exception)

      Find a method to handle the given exception. Use `ExceptionDepthComparator` if more than one match is found.
      Parameters:
        `exception` - the exception
      Returns:
        a method to handle the exception or `null`