Java : IllegalStateException - API使用例
IllegalStateException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
メソッドの呼び出しを許可していない 状態 のときに、メソッドを呼び出すと発生する非チェック例外です。
例えば、
- キューに容量以上の要素を追加しようとした
- オブジェクトを close したのに、そのオブジェクトを使おうとした
などです。
final var queue = new ArrayBlockingQueue<String>(3);
System.out.println(queue.remainingCapacity()); // 3
queue.add("aaa");
queue.add("bbb");
queue.add("ccc");
System.out.println(queue); // [aaa, bbb, ccc]
System.out.println(queue.remainingCapacity()); // 0
try {
queue.add("ddd");
} catch (IllegalStateException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.IllegalStateException: Queue full
class Sample implements Closeable {
private boolean closed;
@Override
public void close() {
closed = true;
}
public String read() {
if (closed) {
throw new IllegalStateException("Closed!");
}
return "abcd";
}
}
final var sample = new Sample();
System.out.println(sample.read()); // abcd
sample.close();
try {
final var ret = sample.read();
} catch (IllegalStateException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.IllegalStateException: Closed!
コンストラクタ
IllegalStateException ()
final var e = new IllegalStateException();
System.out.println(e); // java.lang.IllegalStateException
IllegalStateException (String s)
final var e = new IllegalStateException("abcde");
System.out.println(e); // java.lang.IllegalStateException: abcde
System.out.println(e.getMessage()); // abcde
IllegalStateException (String message, Throwable cause)
final var cause = new IllegalStateException("XYZ");
final var e = new IllegalStateException("abcde", cause);
System.out.println(e); // java.lang.IllegalStateException: abcde
System.out.println(e.getMessage()); // abcde
System.out.println(e.getCause()); // java.lang.IllegalStateException: XYZ
System.out.println(e.getCause().getMessage()); // XYZ
IllegalStateException (Throwable cause)
final var cause = new IllegalStateException("XYZ");
final var e = new IllegalStateException(cause);
System.out.println(e); // java.lang.IllegalStateException: java.lang.IllegalStateException: XYZ
System.out.println(e.getMessage()); // java.lang.IllegalStateException: XYZ
System.out.println(e.getCause()); // java.lang.IllegalStateException: 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
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable