Dans le but d'améliorer les performances, n'écrivez pas de code avec des exceptions malgré le flux normal.
Lors de la création de l'API, il existe un dispositif pour empêcher que l'exception soit utilisée dans le flux normal. Pour empêcher la génération du code suivant, vous pouvez soit préparer une méthode de type hasNext, soit préparer une méthode qui renvoie une valeur facultative vide ou null selon l'état. Ce dernier doit être choisi s'il est accessible en parallèle. Ce dernier est meilleur en termes de performances. Le premier est supérieur en termes de lisibilité et de facilité de détection des erreurs.
// Do not use this hideous code for iteration over a collection!
try {
Iterator<Foo> i = collection.iterator();
while(true) {
Foo foo = i.next();
...
}
} catch (NoSuchElementException e) {
Recommended Posts