2012-03-29 5 views
2

J'ai une méthode qui vérifie les taches dans un tableau 2D, et elle vérifie également si elles sont nulles. Je veux lancer le ArrayIndexOutOfBoundsException parce que je vérifie déjà null.Comment lancer ArrayIndexOutOfBoundsException?

J'ai essayé d'ajouter throws ArrayIndexOutOfBoundsException après avoir déclaré la méthode, mais cela ne fonctionne pas. Comment puis-je faire cela?

+2

combien avez-vous fait? Collez du code ici. :) – HashimR

Répondre

8

throws dans la définition de la méthode indique que la méthode peut lever cette exception. Pour lancer réellement dans le corps de la méthode, utilisez throw new ArrayIndexOutOfBoundsException();

3

Essayez ceci:

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

Fondamentalement, le mot-clé throws nous dit que la méthode peut jeter l'exception .Si vous voulez jeter toute sorte d'exception dont vous avez besoin appeler le constructeur de ce type.

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

Après votre déclaration méthode d'écriture:

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

Si vous écrit tout simplement la fonction comme étant capable de lancer une exception, mais jamais fait jeter l'exception dans la fonction, aucune exception n'est jamais produite.

Si vous lancez l'exception mais que vous n'indiquez pas la fonction comme pouvant déclencher une exception, vous pouvez obtenir une erreur de compilateur ou un avertissement concernant une exception non interceptée.

Vous devez lister votre fonction en lançant une exception ArrayIndexOutOfBoundsException et lancer l'exception quelque part dans votre fonction.

Par exemple:

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