J'ai un contrôle utilisateur, qui contient plusieurs méthodes et chacune de ces méthodes a un bloc try-catch. Je n'attrape qu'un seul type d'exceptions, par exemple ArgumentException. Mise à jour - Je n'attrape pas une exception mais plusieurs exceptions que j'ai définies.Comment attraper toutes les exceptions dans un contrôle utilisateur
Chacune de ces méthodes gère l'ArgumentException de la même manière, j'ai donc du code redondant. Est-ce que je peux attraper ArgumentException dans un endroit de sorte que toutes les méthodes dans le contrôle d'utilisateur l'emploieraient?
Mise à jour 1: L'application est utilisée dans la production et elle est utilisée par de nombreuses personnes qui ne sont pas très familières avec les ordinateurs. Simplifié - ils doivent insérer beaucoup de nombres dans la base de données (avec l'aide d'un scanner optique portatif) et bien sûr ils font des erreurs. Il y a au moins 8 exceptions courantes (mauvaise taille, mauvais type, ...) et dans ma logique métier, j'attrape toutes ces exceptions et les envoie à l'interface graphique. Parce que l'environnement, où l'application est installée, est très moche, je joue un son d'erreur fort et affiche le message d'erreur. En raison de la logique métier, ils ont plusieurs options pour insérer ces numéros, de sorte que la même logique de détection d'erreur se trouve dans plusieurs méthodes à travers le contrôle utilisateur.
Update2: en fait je ne suis pas attraper ArgumentException mais mes propres exceptions, par exemple CodeFormatException, CodeDoesntExistException, CodeNotInTheSelectedRollException etc.
Ceci est la gestion des exceptions Pokémon. Vous ne pouvez pas gérer une ArgumentException, c'est un bug de programmation. Votre gestionnaire de catch ne peut pas réécrire le code source pour corriger le bug. –
Je ne suis pas sûr de comprendre votre réponse. J'ai mis à jour ma question pour mieux décrire mon problème. – sventevit
@Hans Passant: je suis entièrement d'accord avec vous. – Svisstack