Java : Error (エラー) - API使用例
Error (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
Error は、アプリケーションが復帰できないような重大な問題が発生したときにスローされます。
コード例では Error をキャッチしていますが、基本的には Error をキャッチするのはおすすめしません。
そのあたりの詳しいことは下記の記事にて解説しています。
もし興味がありましたら、そちらもご参照いただけたら幸いです。
try {
final var array = new int[1000000000];
} catch (Error e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.OutOfMemoryError: Java heap space
コンストラクタ
Error ()
final var e = new Error();
System.out.println(e); // java.lang.Error
Error (String message)
final var e = new Error("abcd");
System.out.println(e); // java.lang.Error: abcd
System.out.println(e.getMessage()); // abcd
Error (String message, Throwable cause)
final var cause = new Error("XYZ");
final var e = new Error("abcd", cause);
System.out.println(e); // java.lang.Error: abcd
System.out.println(e.getMessage()); // abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
Error (String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace)
@SuppressWarnings("serial")
class SampleError extends Error {
SampleError(String message, Throwable cause,
boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
}
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, true, true);
System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ
e.addSuppressed(new Error("E1"));
e.addSuppressed(new Error("E2"));
// [java.lang.Error: E1, java.lang.Error: E2]
System.out.println(Arrays.toString(e.getSuppressed()));
System.out.println(e.getStackTrace().length > 0); // true
// enableSuppression = false
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, false, true);
System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ
e.addSuppressed(new Error("E1"));
e.addSuppressed(new Error("E2"));
System.out.println(Arrays.toString(e.getSuppressed())); // []
System.out.println(e.getStackTrace().length > 0); // true
// writableStackTrace = false
final var cause = new Error("XYZ");
final var e = new SampleError("abcd", cause, true, false);
System.out.println(e); // SampleError: abcd
System.out.println(e.getCause()); // java.lang.Error: XYZ
e.addSuppressed(new Error("E1"));
e.addSuppressed(new Error("E2"));
// [java.lang.Error: E1, java.lang.Error: E2]
System.out.println(Arrays.toString(e.getSuppressed()));
System.out.println(e.getStackTrace().length); // 0
Error (Throwable cause)
final var cause = new Error("XYZ");
final var e = new Error(cause);
System.out.println(e); // java.lang.Error: java.lang.Error: XYZ
System.out.println(e.getMessage()); // java.lang.Error: XYZ
System.out.println(e.getCause()); // java.lang.Error: 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 使用例
- Error (エラー)
- Exception (チェック例外)
- RuntimeException (非チェック例外)
- ArithmeticException (算術例外)
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- CancellationException
- ClassCastException (キャスト例外)
- ConcurrentModificationException (並列処理例外)
- DateTimeException (日付・時刻の例外)
- DateTimeParseException (日付・時刻の解析例外)
- IllegalArgumentException
- IllegalStateException
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable