iwannabeamaki (./49) :
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.
Bien sûr qu'il faut optimiser quand il y a besoin (

) mais c'est loin d'être souvent le cas. Et d'ailleurs, je pense que ce qui rame est plus le new que le throw. Ça reste à tester en tout cas.
Qq chose du genre de :
class Huhu {
Exception e= new Exception("boum") ;
void huhu()
throws Exception()
{
if ( test ) throw e ;
}
}
}
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.
Pkoi pas, mais bon, ça reste quand même à tester correctement (rapport au new/throw. Enfin, vous savez peut-être, mais pas moi)