2012-03-29 11 views
2

Ich habe eine Methode, die Spots in einem 2D-Array überprüft, und es überprüft auch, ob sie null sind. Ich möchte die ArrayIndexOutOfBoundsException werfen, weil ich bereits auf Null überprüfen.Wie wird ArrayIndexOutOfBoundsException ausgelöst?

Ich habe versucht, throws ArrayIndexOutOfBoundsException nach der Erklärung der Methode, aber es funktioniert nicht. Wie mache ich das?

+2

wie viel haben Sie getan? fügen Sie hier einen Code ein. :) – HashimR

Antwort

8

throws in der Methodendefinition besagt, dass die Methode diese Ausnahme auslösen kann. Um tatsächlich in der Methode Körper zu werfen, verwenden throw new ArrayIndexOutOfBoundsException();

3

Versuchen Sie folgendes:

throw new ArrayIndexOutOfBoundsException("this is my exception for the condition"); 
0

Grundsätzlich ist die throws Schlüsselwort uns sagt, dass das Verfahren die Ausnahme werfen kann .Wenn Sie jede Art von Ausnahme werfen wollen Sie brauchen um den Konstruktor dieses Typs aufzurufen.

throw new NullPointerException("Null Pointer Exception"); 
0

nach der Methodendeklaration schreiben:

private returnType methodName(CommunicationObject requestObject) 
      throws ArrayIndexOutOfBoundException { 
} 
1

Wenn Sie nur die Funktionsliste in der Lage, eine Ausnahme zu werfen, aber nie wirklich die Ausnahme in der Funktion wirft, wird keine Ausnahme jemals erzeugt.

Wenn Sie die Ausnahme auslösen, aber die Funktion nicht als Möglichkeit zum Auslösen einer Ausnahme auflisten, erhalten Sie möglicherweise einen Compilerfehler oder eine Warnung über eine nicht abgefangene Ausnahme.

Sie müssen Ihre Funktion auflisten, indem Sie eine ArrayIndexOutOfBoundsException auslösen und die Ausnahme irgendwo in Ihrer Funktion auslösen.

Zum Beispiel:

public ... myArrayFunction(...) throws ArrayIndexOutOfBoundsException { 
    .... // handle the array 
    if (some condition) { 
     throw new ArrayIndexOutOfBoundsException("Array Index Out of Bounds"); 
    } 
}