2010-10-21 2 views
0

Quelle est la meilleure façon de gérer une exception?
Aussi, pourquoi devrais-je jamais écrire:gestion des exceptions et (lancer ex)

catch (Exception ex) { throw ex; } 
+2

Vous pouvez préciser dans quelle langue cela est en les tags. –

Répondre

3

La meilleure façon de gérer une exception est de faire quelque chose de significatif dans le bloc catch (celui qui contient dans votre exemple throw ex). La définition de «significatif» dépend complètement de vos besoins.

Vous ne devriez pas faire catch (Exception ex) { throw ex; } car cela freine la chaîne d'exception. Il est parfaitement bien pour attraper une exception, la poignée et re-lancer afin que le code d'appel peut le voir, mais vous devriez faire si comme ceci:

catch (Exception ex) { /* handling code; */ throw; } 
+1

Cela fonctionne très bien en C++, mais pas dans Java, par exemple. C'est pourquoi l'affiche originale * a vraiment besoin d'identifier la langue dont il parle. –

+1

@ JUST En fait, j'ai supposé C# par défaut;) Considérant les questions de l'autre OP, il pourrait même être une bonne hypothèse. – GSerg

1

Pourquoi voudriez-vous attraper le expection juste le jeter à nouveau, si vous deviez attraper l'exception et faire autre chose que de le jeter, ce serait bien!

try 
{ 
} 
catch(Exception ex) 
{ 
// do something like log the exception 
throw ex; // let another catch block handle the expection. 
}