2017-07-25 5 views
1

Lorsque vous travaillez avec des exceptions, j'aime toujours ne pas casser sur instructions try/catch spécifiques.Ne jamais casser pour un blocage spécifique try try dans Visual Studio

Exemples:

  • Je ne veux jamais briser ce TimeoutException dans un cas très précis où je pense que cela arrive souvent (souvent dans une couche plus profonde).
  • Je veux rompre tous les autres TimeoutExceptions.
  • Pour un très haut niveau essayer/attraper je réellement jamais voulez avaler l'exception avant qu'il casse. Dites un try/catch sur le levier le plus élevé d'un processus de travail.

Dans VS, il existe un ignore basé sur ExceptionType et une propriété 'except from this dll'.

Pour moi, ce n'est souvent pas vraiment suffisant, mais plutôt une solution de contournement. Vous devez être chanceux qu'ils ont réellement écrit une exception spécifique que vous pouvez attraper et ignorer. L'ajout d'un ensemble séparé pour cette fonctionnalité semble exagéré.

Question

Est-il possible de dire 'jamais rompre sur ce sujet et ce try/catch' - mais ne se cassent sur tous les autres?

+1

Copie possible de: https://stackoverflow.com/questions/3688574/make-visual-studio-ignore-exceptions –

+0

@Robert S. Je ne pense pas que ce soit un doublon. Cette question demande comment ignorer des blocs '' catch''' spécifiques, pas des '' '' '' '' Exception''' complets – Iqon

+0

Ok mon mauvais. Mais alors il s'agit d'une copie possible de: https://stackoverflow.com/questions/1420390/dont-stop-debugger-at-that-exception-when-its-thrown-and-caught/3455100#3455100 –

Répondre

0

Voir Don't stop debugger at THAT exception when it's thrown and caught et les réponses. Surtout l'attribut System.Diagnostics.DebuggerHidden pourrait aider dans ce cas.

+0

Vous pouvez envisager d'utiliser plusieurs blocs catch comme ce essayer { } catch (TimeoutException ex) { // Cassez ici } catch (Exception ex) { } Ensuite, vous êtes capable de gérer chaque exception que vous voulez – Taco2