JavaマスターJavaプログラムサンプル集例外のサンプル → NegativeArraySizeException対策

NegativeArraySizeException対策

NegativeArraySizeExceptionを発生させる実験です。

NegativeArraySizeExceptionは、配列を確保するときに指定する サイズが負の場合に発生します。 Javaでは、配列のサイズを実行時に決めることができます。つまり、 配列を宣言するときの[]の中には、変数を使うことができます。 何らかの計算結果やユーザ入力に基づいて動的にサイズを決定している場合、 この例外が発生する可能性があります。

samples/exception/index/NegativeArraySizeExceptionTest.java - Eclipse SDK
package samples.exception.index;

public class NegativeArraySizeExceptionTest {
  public static void main(String[] args) {
    try {
      int size = -1;
      int[] intArray = new int[size];
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

上記の例では、intArrayという変数に配列を作成しようとしていますが、 負のサイズを指定しているため、例外が発生します。

コマンド プロンプト

C:\JavaMaster\bin>java -cp . samples.exception.index.NegativeArraySizeExceptionTest 
java.lang.NegativeArraySizeException
    at samples.exception.index.NegativeArraySizeExceptionTest.main(NegativeArraySizeExceptionTest.java:7)