3

2D 配列のスポットをチェックするメソッドがあり、それらが null かどうかもチェックします。ArrayIndexOutOfBoundsExceptionすでにnullをチェックしているので、をスローしたい。

メソッド宣言後に追記してみましthrows ArrayIndexOutOfBoundsExceptionたが、うまくいきません。どうすればいいですか?

4

5 に答える 5

9

throwsメソッド定義では、メソッドがその例外をスローできると述べています。メソッド本体で実際にスローするには、次を使用しますthrow new ArrayIndexOutOfBoundsException();

于 2012-03-29T04:18:31.297 に答える
1

関数を例外をスローできるものとしてリストするだけで、実際に関数で例外をスローしない場合、例外は生成されません。

例外をスローしたが、関数を例外をスローできるものとしてリストしない場合、コンパイラエラーまたはキャッチされなかった例外に関する警告が表示される場合があります。

ArrayIndexOutOfBoundsExceptionをスローするものとして関数をリストし、関数のどこかに例外をスローする必要があります。

例えば:

public ... myArrayFunction(...) throws ArrayIndexOutOfBoundsException {
    .... // handle the array
    if (some condition) {
       throw new ArrayIndexOutOfBoundsException("Array Index Out of Bounds");
    }
}
于 2012-03-29T16:04:48.803 に答える
0

メソッド宣言の後に次のように記述します。

private returnType methodName(CommunicationObject requestObject)
            throws ArrayIndexOutOfBoundException {
}
于 2012-03-29T04:33:26.473 に答える
0

基本的に、throwsキーワードは、メソッドが例外をスローできることを示しています。何らかの種類の例外をスローしたい場合は、その型のコンストラクターを呼び出す必要があります。

throw new NullPointerException("Null Pointer Exception");
于 2012-03-29T04:30:02.237 に答える