クラス ExceptionHandlerMethodResolver
java.lang.ObjectSE
org.springframework.web.method.annotation.ExceptionHandlerMethodResolver
指定されたクラス(そのすべてのスーパークラスを含む)内の @ExceptionHandler メソッドを検出し、クライアントによってリクエストされた指定された
ExceptionSE および MediaType を、指定された MethodSE でサポートされる組み合わせに解決できます。 このリゾルバーは、@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) 指定された例外型とメディア型を処理するMethodSE を検索します。resolveMethod(ExceptionSE exception) 指定された例外を処理するMethodSE を見つけます。resolveMethodByExceptionType(ClassSE<? extends ThrowableSE> exceptionType) 指定された例外型を処理するMethodSE を見つけます。resolveMethodByThrowable(ThrowableSE exception) 指定された Throwable を処理するMethodSE を見つけます。
コンストラクターの詳細
ExceptionHandlerMethodResolver
指定された型のExceptionHandlerメソッドを見つけるコンストラクター。- パラメーター:
handlerType- イントロスペクトする型- 例外:
IllegalStateExceptionSE- 例外マッピング宣言が無効またはあいまいな場合
メソッドの詳細
hasExceptionMappings
public boolean hasExceptionMappings()含まれている型に例外マッピングがあるかどうか。resolveMethod
指定された例外を処理するMethodSE を見つけます。複数の一致が見つかった場合は
ExceptionDepthComparatorを使用します。- パラメーター:
exception- 例外- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
resolveMethodByThrowable
指定された Throwable を処理するMethodSE を見つけます。複数の一致が見つかった場合は
ExceptionDepthComparatorを使用します。- パラメーター:
exception- 例外- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null - 導入:
- 5.0
resolveExceptionMapping
@Nullable public ExceptionHandlerMappingInfo resolveExceptionMapping(ThrowableSE exception, MediaType mediaType) リクエストされたMediaTypeに対して指定された Throwable を処理するMethodSE を検索します。複数の一致が見つかった場合は、
ExceptionDepthComparatorとMediaType.isMoreSpecific(MimeType)を使用します。- パラメーター:
exception- 例外mediaType- HTTP クライアントがリクエストしたメディア型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null - 導入:
- 6.2
resolveMethodByExceptionType
@Nullable public MethodSE resolveMethodByExceptionType(ClassSE<? extends ThrowableSE> exceptionType) 指定された例外型を処理するMethodSE を検索します。これは、ExceptionSE インスタンスが利用できない場合に役立ちます (たとえば、ツールの場合)。複数の一致が見つかった場合は
ExceptionDepthComparatorを使用します。- パラメーター:
exceptionType- 例外型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null
resolveExceptionMappingByExceptionType
@Nullable public ExceptionHandlerMappingInfo resolveExceptionMappingByExceptionType(ClassSE<? extends ThrowableSE> exceptionType, MediaType mediaType) 指定された例外型とメディア型を処理するMethodSE を検索します。これは、ExceptionSE インスタンスが利用できない場合に役立ちます (たとえば、ツールの場合)。- パラメーター:
exceptionType- 例外型mediaType- HTTP クライアントがリクエストしたメディア型- 戻り値:
- 例外を処理するメソッド、または何も見つからない場合は
null