Les exceptions sont environ 10000x plus lentes que le renvoi d'un code d'état/d'erreur selon le langage de programmation. Cela est dû à toutes les informations de la pile qui sont suivies. C'est le mauvais.
En général, vous n'avez jamais besoin d'utiliser des exceptions. En fait, à un moment donné, la seule chose qui existait était les codes de retour. La bonne chose à propos des exceptions est qu'elles ne laisseront pas un programme continuer à moins d'être traitées correctement. Au lieu de cela, le programme se bloque. Donc, en gros, si vous oubliez de traiter les messages d'état ou si vous craignez que d'autres ne vérifient pas les codes de retour de vos fonctions, les exceptions arrêtent le programme et vous permettent de le réparer. Bien que j'ai vu beaucoup de programmeurs inexpérimentés attraper l'exception, ne rien faire à ce sujet, et continuer ensuite. Cela revient à ignorer le code retour d'une fonction.
Une autre bonne chose à propos des exceptions est qu'elles "éclatent" automatiquement. Au lieu d'avoir à renvoyer des codes d'erreur via une longue chaîne de fonctions, vous pouvez configurer votre try try au niveau le plus élevé et gérer toute erreur de manière appropriée (en supposant que vous ne vouliez rien d'autre se produire entre les deux). Par exemple, si quelque chose ne va pas, affichez une page d'erreur.
Cette rubrique apparaît de temps en temps. Vous trouverez quelques réponses éclairantes dans la recherche http://stackoverflow.com/search?q=php%20exceptions%20vs%20errors et probablement quelques explications qui sont pertinentes pour votre cas (= il n'y a pas de moyen correct pour tout). – mario
Cette question serait-elle mieux adaptée aux [Programmeurs] (http://programmers.stackexchange.com/), ou est-elle encore trop générale? –