0
votes

Comment puis-je ajouter la condition dans la classe d'exception personnalisée en Java

J'ai une classe où j'appelle à plusieurs endroits une classe personnalisée pour gérer des exceptions. xxx

J'ai besoin d'ajouter une condition si une variable est vraie puis ignore l'exception. Y a-t-il un moyen de le faire au même endroit? Par exemple dans ma classe personnalisée?

Merci d'avance!


1 commentaires

Vous le faites "dans un autre endroit", à savoir avant de créer l'exception. Vous ne le créez que si vous avez déjà vérifié les conditions qui mènent à vous de la jeter.


3 Réponses :


1
votes

Vous pouvez simplement ajouter le drapeau à votre exception.

try {
  try {
    doThePackageThing();
  } catch (MinorPackageFailedException ex) {
    //todo: you might want to log it somewhere, but we can continue 
  }

  continueWithTheRestOfTheStuff();

} catch (PackageFailedException ex) {
  //todo: this is more serious, we skip the continueWithTheRestOfTheStuff();
}


5 commentaires

Dans mon cas si le drapeau est vrai, je ne veux pas jeter une exception


@Mbris bien alors ne le jetez pas non? Quelle est ta question? Vous avez dit que vous vouliez l'ignorer, ne pas le jeter.


Si le drapeau est vrai, je ne veux pas lancer d'exception, mais si le drapeau est faux, je veux lancer une exception.


J'ai plusieurs endroits dans ma classe où j'appelle jette nouvelle packageFaileDException Je pensais ajouter une condition à un endroit et non à chaque fois que j'appelle cette exception


@Mbris sans nous montrer le code que nous ne pouvons pas comprendre ce que vous essayez de faire. Peut-être que vous pourriez simplement écrire une méthode thewifimportant () et vous mettez le jetez nouvelle packageFaileDException à l'intérieur, en fonction du drapeau ... ne peut pas vous aider sans plus de détails.



0
votes

Vous créez conditionnellement l'exception, de sorte que cela ne se lance que si et le cas échéant.

Soit cela et / ou vous gérez l'exception différemment en fonction des conditions lorsqu'il est capturé.

Ce que vous ne faites pas, c'est avoir l'exception décider si cela devrait exister ou non, de cette façon se trouve la folie.


0 commentaires

0
votes

Vous pouvez hériter de votre packageFaileDException, pour créer une logique comme ceci: xxx

puis, dans votre code, vous pouvez lancer PackageFaileDException ou ignorablePackageFaileDException. Par exemple: xxx

Donc, vous pouvez gérer les exceptions telles que ceci: xxx


0 commentaires