Java: Try-Catch-Continue?
Disons que je peux un ensemble d'énoncés:
try {
String a = getProperty("a");
String b = getProperty("b");
String c = getProperty("c");
} catch(Exception e) {
}
Maintenant, permet de dire que la propriété b n'a pas été trouvé et la fonction lève une exception. Dans ce cas, comment pourrais-je juste continuer ou peut-être de la série b de nulle sans avoir à écrire un bloc try-catch pour chaque propriété? Je veux dire, a,b,c existent, mais parfois ils ne peuvent pas être trouvés à tous au cours de laquelle une exception est levée.
source d'informationauteur Legend
Vous devez vous connecter pour publier un commentaire.
En supposant que vous ne pouvez pas modifier la fonction pour qu'il renvoie null si la propriété n'est pas trouvé, vous êtes coincées emballage tout dans son propre try catch block -- surtout si vous voulez pour chaque valeur qui peut être récupérée pour être récupérées (par opposition à laisser la première valeur qui ne parvient pas annuler l'ensemble de l'opération.)
Si vous avez beaucoup de ces propriétés pour récupérer, peut-être qu'il serait plus propre d'écrire une méthode d'aide à l'utilisation:
Vous devez mettre un try-catch autour de chaque instruction. Il n'existe pas de continuer (comme il est dans
ON ERROR ... RESUME
blocs en VB). Au lieu de:vous pourriez écrire:
Personnellement je pense qu'un
getProperty()
est un mauvais candidat pour lever des exceptions juste pour le standard requisPuisque vous êtes en utilisant la même fonction à chaque fois que vous pourriez être en mesure de mettre cela dans une boucle:
mais c'est plutôt artificiel et ne serait utile que pour un grand nombre de propriétés. Je soupçonne que vous aurez à la simple écriture 3 try-catch.
Vous devriez reconsidérer la façon dont
getProperty
est traitée si vous prévoyez d'utiliser beaucoup d'entre eux parce qu'il n'est pas un simple moyen de le faire.Vous pouvez exploiter
finally
déclaration, mais vous avez encore besoin d'untry-catch
pour chaque appel.