クラス ExceptionHandlerMethodResolver
java.lang.ObjectSE
org.springframework.web.method.annotation.ExceptionHandlerMethodResolver
指定されたクラス(そのすべてのスーパークラスを含む)内の @ExceptionHandler メソッドを検出し、クライアントによってリクエストされた指定された
Exception
SE および MediaType
を、指定された Method
SE でサポートされる組み合わせに解決できます。 このリゾルバーは、@ExceptionHandler
アノテーション属性として宣言された例外情報、またはフォールバックとしてメソッド引数として宣言された例外情報を使用します。次の場合に IllegalStateException
インスタンスがスローされます。
- メソッドの例外情報が見つかりませんでした
- 無効な
MediaType
が@ExceptionHandler
属性として宣言されました - 複数のハンドラーが同じ例外 + メディア型マッピングを宣言する
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen, Brian Clozel
コンストラクターの概要
コンストラクターコンストラクター説明ExceptionHandlerMethodResolver
(ClassSE<?> handlerType) 指定された型のExceptionHandler
メソッドを見つけるコンストラクター。メソッドのサマリー
修飾子と型メソッド説明boolean
含まれている型に例外マッピングがあるかどうか。resolveExceptionMapping
(ThrowableSE exception, MediaType mediaType) resolveExceptionMappingByExceptionType
(ClassSE<? extends ThrowableSE> exceptionType, MediaType mediaType) 指定された例外型とメディア型を処理するMethod
SE を検索します。resolveMethod
(ExceptionSE exception) 指定された例外を処理するMethod
SE を見つけます。resolveMethodByExceptionType
(ClassSE<? extends ThrowableSE> exceptionType) 指定された例外型を処理するMethod
SE を見つけます。resolveMethodByThrowable
(ThrowableSE exception) 指定された Throwable を処理するMethod
SE を見つけます。
コンストラクターの詳細
ExceptionHandlerMethodResolver
指定された型のExceptionHandler
メソッドを見つけるコンストラクター。- パラメーター:
handlerType
- イントロスペクトする型- 例外:
IllegalStateExceptionSE
- 例外マッピング宣言が無効またはあいまいな場合
メソッドの詳細
hasExceptionMappings
public boolean hasExceptionMappings()含まれている型に例外マッピングがあるかどうか。resolveMethod
指定された例外を処理するMethod
SE を見つけます。複数の一致が見つかった場合は
ExceptionDepthComparator
を使用します。- パラメーター:
exception
- 例外- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
resolveMethodByThrowable
指定された Throwable を処理するMethod
SE を見つけます。複数の一致が見つかった場合は
ExceptionDepthComparator
を使用します。- パラメーター:
exception
- 例外- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
- 導入:
- 5.0
resolveExceptionMapping
@Nullable public ExceptionHandlerMappingInfo resolveExceptionMapping(ThrowableSE exception, MediaType mediaType) リクエストされたMediaType
に対して指定された Throwable を処理するMethod
SE を検索します。複数の一致が見つかった場合は、
ExceptionDepthComparator
とMediaType.isMoreSpecific(MimeType)
を使用します。- パラメーター:
exception
- 例外mediaType
- HTTP クライアントがリクエストしたメディア型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
- 導入:
- 6.2
resolveMethodByExceptionType
@Nullable public MethodSE resolveMethodByExceptionType(ClassSE<? extends ThrowableSE> exceptionType) 指定された例外型を処理するMethod
SE を検索します。これは、Exception
SE インスタンスが利用できない場合に役立ちます (たとえば、ツールの場合)。複数の一致が見つかった場合は
ExceptionDepthComparator
を使用します。- パラメーター:
exceptionType
- 例外型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
resolveExceptionMappingByExceptionType
@Nullable public ExceptionHandlerMappingInfo resolveExceptionMappingByExceptionType(ClassSE<? extends ThrowableSE> exceptionType, MediaType mediaType) 指定された例外型とメディア型を処理するMethod
SE を検索します。これは、Exception
SE インスタンスが利用できない場合に役立ちます (たとえば、ツールの場合)。- パラメーター:
exceptionType
- 例外型mediaType
- HTTP クライアントがリクエストしたメディア型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null