J'ai entendu dire qu'il fallait éviter les blocs d'essai si possible, car ils sont chers.
Ma question porte spécifiquement sur la plate-forme .NET : Pourquoi les blocs try sont-ils chers ?
Résumé des réponses :
Il y a clairement deux camps sur cette question : ceux qui disent que les blocs d'essai sont chers, et ceux qui disent "peut-être un tout petit peu".
Ceux qui disent que les blocs d'essai sont coûteux mentionnent généralement le "coût élevé" du déroulement de la pile d'appels. Personnellement, je ne suis pas convaincu par cet argument, surtout après avoir lu comment les gestionnaires d'exceptions sont stockés. aquí .
Jon Skeet se situe dans le camp des "peut-être un tout petit peu", et a écrit deux articles sur les exceptions et les performances que vous pouvez trouver à l'adresse suivante aquí .
Il y a un article que j'ai trouvé extrêmement intéressant : il parle des "autres" implications des blocs d'essai sur les performances (pas nécessairement la consommation de mémoire ou de processeur). Peter Ritchie mentionne qu'il a constaté que le code à l'intérieur des blocs d'essai n'est pas optimisé comme il le serait autrement par le compilateur. Vous pouvez lire ses conclusions aquí .
Enfin, l'homme qui a implémenté les exceptions dans le CLR a publié un article de blog sur le sujet. Jetez un coup d'œil à l'article de Chris Brumme. aquí .