Lors d'une révision de code avec un employé de Microsoft, nous sommes tombés sur une grande section de code à l'intérieur d'un try{}
bloc. Elle et un représentant informatique ont suggéré que cela pouvait avoir des effets sur les performances du code. En fait, ils ont suggéré que la plupart du code devrait être en dehors des blocs try / catch, et que seules les sections importantes devraient être vérifiées. L'employé de Microsoft a ajouté et déclaré qu'un prochain livre blanc mettait en garde contre les blocages try / catch incorrects.
J'ai regardé autour de moi et j'ai découvert que cela pouvait affecter les optimisations , mais cela ne semble s'appliquer que lorsqu'une variable est partagée entre des étendues.
Je ne pose pas de question sur la maintenabilité du code, ni même sur la gestion des bonnes exceptions (le code en question doit sans doute être refacturé). Je ne fais pas non plus référence à l'utilisation d'exceptions pour le contrôle de flux, c'est clairement faux dans la plupart des cas. Ce sont des questions importantes (certaines sont plus importantes), mais pas le sujet ici.
Comment les blocs try / catch affectent-ils les performances lorsque des exceptions ne sont pas levées?