Java : ReflectiveOperationException - API使用例
ReflectiveOperationException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
ReflectiveOperationException は、リフレクション操作に失敗したときに発生する例外のベースとなるクラスです。
より具体的な例外として、ReflectiveOperationException のサブクラスがいくつか用意されています。
例えば、
- メソッドが見つからない : NoSuchMethodException
- クラスが見つからない : ClassNotFoundException
などです。
public class Foo {
public void aaa() {
}
}
try {
final var cls = Foo.class;
final var aaa = cls.getMethod("aaa");
System.out.println("aaa : OK!");
final var bbb = cls.getMethod("bbb");
} catch (ReflectiveOperationException e) {
System.out.println(e);
}
// 結果
// ↓
//aaa : OK!
//java.lang.NoSuchMethodException: Foo.bbb()
コンストラクタ
ReflectiveOperationException ()
final var e = new ReflectiveOperationException();
System.out.println(e); // java.lang.ReflectiveOperationException
ReflectiveOperationException (String message)
final var e = new ReflectiveOperationException("abcd");
System.out.println(e); // java.lang.ReflectiveOperationException: abcd
System.out.println(e.getMessage()); // abcd
ReflectiveOperationException (String message, Throwable cause)
final var cause = new NoSuchMethodException("XYZ");
final var e = new ReflectiveOperationException("abcd", cause);
System.out.println(e); // java.lang.ReflectiveOperationException: abcd
System.out.println(e.getMessage()); // abcd
System.out.println(e.getCause()); // java.lang.NoSuchMethodException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
ReflectiveOperationException (Throwable cause)
final var cause = new NoSuchMethodException("XYZ");
final var e = new ReflectiveOperationException(cause);
System.out.println(e); // java.lang.ReflectiveOperationException: java.lang.NoSuchMethodException: XYZ
System.out.println(e.getCause()); // java.lang.NoSuchMethodException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
Throwableで宣言されたメソッド
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
「Java API 使用例 : Throwable」をご参照ください。
関連記事
- API 使用例