Vérification des limites en Java
Je suis en train de vérifier si un tableau endroit qui est hors des limites, ce qui est la façon la plus simple?
int[] arr;
populate(arr);
if(arr[-1] == null)
//out of bounds!
Serait quelque chose comme ce travail?
Je suis sûr que cela peut être fait avec une trycatch ou un scanner, mais pour un simple petit programme, est-il une autre voie?
source d'informationauteur dukevin
Vous devez vous connecter pour publier un commentaire.
Absolument ne pas utiliser try-catch pour cela. Utilisez simplement:
La mise en œuvre de l'approche avec try-catch entraînerait la capture d'un
ArrayIndexOutOfBoundsException
qui est un décoché exception (c'est à dire une sous-classe deRuntimeException
). De telles exceptions ne devraient jamais (ou, au moins, très rarement) être capturées et traitées. Au lieu de cela, ils devraient être évités en premier lieu.En d'autres mots, non des exceptions sont des exceptions que votre programme est ne s'attend pas à récupérer à partir de. Maintenant, il peut y avoir des exceptions (no pun intended) du présent ici et là. Par exemple, il est devenu pratique courante pour vérifier si une chaîne est parabole comme un entier en appelant
Integer.parseInt()
sur elle et attraper le potentielNumberFormatException
(qui n'est pas cochée). Ceci est considéré comme OK, mais toujours penser à deux fois avant de faire quelque chose comme ça.Non, ça va provoquer une exception.
Au lieu de cela, faire
Il est préférable de vérifier si l'indice est dans la gamme manuellement.
Exceptions qui ne sont pas cochées, qu'est ce qui ne nécessitent pas un bloc try-catch, ne devrait pas être pris.
ArrayIndexOutOfBoundsException
est l'un d'entre eux.Tout décoché exceptions viennent de
RuntimeException
classe.À partir de cette classe vient de l'
IndexOutOfBoundsException
C'est en outre spécialisé dans
StringIndexOutOfBounds
etArrayIndexOutOfBounds