広告

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 ()

詳細メッセージなしでIndexOutOfBoundsExceptionを構築します。

final var e = new IndexOutOfBoundsException();
System.out.println(e); // java.lang.IndexOutOfBoundsException

IndexOutOfBoundsException (int index)

不正な索引を示す引数を使用して、新しいIndexOutOfBoundsExceptionクラスを構築します。

final var e = new IndexOutOfBoundsException(123);

// java.lang.IndexOutOfBoundsException: Index out of range: 123
System.out.println(e);

IndexOutOfBoundsException (long index)

不正な索引を示す引数を使用して、新しいIndexOutOfBoundsExceptionクラスを構築します。

final var e = new IndexOutOfBoundsException(10000000000L);

// java.lang.IndexOutOfBoundsException: Index out of range: 10000000000
System.out.println(e);

IndexOutOfBoundsException (String s)

指定された詳細メッセージを持つIndexOutOfBoundsExceptionを構築します。

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」をご参照ください。


関連記事

ページの先頭へ