Comment ignorer les Exceptions en Java
J'ai le code suivant:
TestClass test=new TestClass();
test.setSomething1(0); //could, but probably won't throw Exception
test.setSomething2(0); //could, but probably won't throw Exception
Je voudrais exécuter: test.setSomething2(0);
même si test.setSomething(0)
(la ligne du dessus) lève une exception. Est-il un moyen pour ce faire d'AUTRE que:
try{
test.setSomething1(0);
}catch(Exception e){
//ignore
}
try{
test.setSomething2(0);
}catch(Exception e){
//ignore
}
J'ai beaucoup de test.setSomething dans une rangée et chacun d'eux peut lancer des Exceptions. S'ils le font, je veux juste sauter la ligne et passer à la suivante.
Pour plus de précisions, je ne m'inquiète pas si elle lève une Exception, et je ne peux pas modifier le code source du code qui génère cette exception.
C'EST UN CAS OÙ je NE me préoccupe PAS DES EXCEPTIONS (merci de ne pas utiliser universellement quantifiée des phrases comme: "vous ne devriez jamais ignorer les Exceptions"). Je suis en train de les valeurs de certains Objets. Lorsque je présente les valeurs à un utilisateur, je n'ai nulle vérifie de toute façon, donc il n'a pas vraiment d'importance si l'une des lignes de code à exécuter.
Exception
. Soit vous envisagez d'attraper et manipuler un certains exception ou vous ne pouvez pas le manipuler, et laisser mijoter jusqu'à la pile.supprimer
throws
à partir de la signature de la méthode de setSomething1(int a);
Dans mon expérience, indiquant "ne sera probablement pas de" presque certainement, tout simplement par la Loi de Murphy. Et si vous avez caché l'exception, vous ne savez pas quand il ne.
c'est OK pour l'attraper si par la suite vous la renvoyer.
La capture et le renvoi est toujours OK à l'égard de la propagation des exceptions. Cependant, l'erreur courante est de les attraper, journal, et de la renvoyer. Répété sur plusieurs couches sur la pile d'appel, il en résulte que le célèbre pollution des journaux avec la répétition des messages d'erreur.
OriginalL'auteur Nick | 2015-02-22
Vous devez vous connecter pour publier un commentaire.
Je serait gravement en doute la santé mentale de tout test de code qui ignore les exceptions levées de code à tester. Cela dit, et en supposant que vous savez ce que vous faites... il n'y a aucun moyen de fondamentalement ignorer la levée d'une exception. Le meilleur que vous pouvez faire est de minimiser le standard vous avez besoin d'envelopper l'exception des jets de code.
Si vous êtes sur l'île de Java 8, vous pouvez utiliser ceci:
Ensuite, ce qui implique statique importations, votre code devient
ignoringExc(() -> { /* code inside */ });
OriginalL'auteur Marko Topolnik
Utiliser le mot
ignore
après laException
mot-clé.oui, mais les Peluches seront les ignorer, si vous n'obtenez pas un avertissement
OriginalL'auteur Joe Almore
Malheureusement non, il n'y en a pas, et c'est par l'intention. Lorsqu'ils sont utilisés correctement, les exceptions ne devraient pas être ignorée, car ils indiquent que quelque chose ne fonctionne pas et que vous ne devriez probablement pas continuer dans le cours normal de votre chemin d'exécution. Complètement ignorant des exceptions est un exemple de la "Balayer sous le tapis" anti-modèle, c'est pourquoi la langue ne supporte pas de le faire facilement.
Peut-être vous devriez chercher à comprendre pourquoi TestClass.setSomething est de lever des exceptions. Est ce que vous essayez de "test" va vraiment être valide si un groupe de setter de ne pas fonctionner correctement?
OriginalL'auteur Dogs
Vous ne pouvez pas ignorer exception en Java. Si une méthode déclare être en mesure de jeter quelque chose c'est parce que quelque chose d'important ne peut pas être fait, et l'erreur ne peut être corrigée par la méthode de concepteur. Donc, si vous avez vraiment wan pas à simplifier votre vie d'encapsuler l'appel de méthode à une autre méthode comme ceci :
et de l'appeler quand vous en avez besoin:
OriginalL'auteur Jean-Baptiste Yunès
Vous ne devriez pas ignorer les Exceptions. Vous devez les traiter. Si vous voulez faire de votre code de test simples, puis ajouter le bloc try-catch dans vos fonctions. Le meilleur moyen d'ignorer les exceptions est de les prévenir en bon codage.
OriginalL'auteur Lajos Arpad