Pen^2 (./28) :
C'est vrai que c'est super courant de lancer quelques millions (ou même milliers (ou même centaines)) d'exceptions dans une boucle 
Ben c'est pas tellement une question de boucler sur des exceptions (forcément, pour faire son test il va pas comparer les temps sur 3 itérations...), mais de comparaison relative entre la méthode "avec exceptions" et la méthode "sans exceptions". Si y'en a une qui prend quasiment 1000 fois plus de temps, même si c'est négligeable sur une itération, dès que tu construits un système conséquent l'impact est loin d'être négligeable. Là où je suis on fait du C# et certaines applis se prennent des dizaines de milliers de requêtes par seconde, et pour le coup les exceptions sont à oublier, même si dans l'absolu ça ne coute qu'une poignée de ms.
Pen^2 (./31) :
Je pense que squalyl est convaincu, désormais 
J'ai jamais dit que les exceptions étaient inutiles hein, juste que quand les performances sont un critère important, il vaut mieux éviter de les utiliser.
squalyl (./33) :
je pourrais arguer que TryParse est débile niveau performances, vu qu'il va être quasiment toujours suivi d'un Parse et que donc, chaque nombre va se retrouver parsé deux fois. Par rapport à un lancer d'exception, ha ha ha.
Non, TryParse effectue le parsing, c'est juste qu'il retourne "false" quand il a échoué au lieu de lancer une exception.