Java : IndexOutOfBoundsException - API使用例
IndexOutOfBoundsException (Java SE 21 & JDK 21) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様書のおともにどうぞ。
概要
IndexOutOfBoundsException は、
- 配列
- リスト
- 文字列
などに対して、インデックス で要素にアクセスするさい、そのインデックスが 範囲外 のときに発生する非チェック例外です。
例えば、配列の場合は IndexOutOfBoundsException のサブクラスである ArrayIndexOutOfBoundsException が発生します。
基本的には、IndexOutOfBoundsException が発生したらそれはプログラムに問題があるときです。
IndexOutOfBoundsException が発生しないようにプログラムを修正しましょう。
( try ~ catch で IndexOutOfBoundsException を握りつぶすことはおすすめしません)
関連記事:例外 vs. 戻り値でエラーチェック
final String[] array = {"aaa", "bbb", "ccc"};
System.out.println(array[0]); // aaa
System.out.println(array[1]); // bbb
System.out.println(array[2]); // ccc
try {
final var ret = array[4];
} catch (IndexOutOfBoundsException e) {
System.out.println("IndexOutOfBoundsException! : " + e.getMessage());
}
// 結果
// ↓
//IndexOutOfBoundsException! : Index 4 out of bounds for length 3
コンストラクタ
IndexOutOfBoundsException ()
final var e = new IndexOutOfBoundsException();
System.out.println(e); // java.lang.IndexOutOfBoundsException
IndexOutOfBoundsException (int index)
final var e = new IndexOutOfBoundsException(123);
// java.lang.IndexOutOfBoundsException: Index out of range: 123
System.out.println(e);
IndexOutOfBoundsException (long index)
final var e = new IndexOutOfBoundsException(10000000000L);
// java.lang.IndexOutOfBoundsException: Index out of range: 10000000000
System.out.println(e);
IndexOutOfBoundsException (String s)
final var e = new IndexOutOfBoundsException("abcd");
System.out.println(e); // java.lang.IndexOutOfBoundsException: abcd
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
- NoSuchElementException
- NullPointerException
- PatternSyntaxException
- StringIndexOutOfBoundsException
- UnsupportedOperationException
- Throwable