La différence entre une erreur ou une exception ?

WRInaute passionné
Bonjour,

Sur un de mes nouveaux projets, j'ai tendance à lever des exceptions dans toutes mes méthodes dès que le traitement échoue, ce que j'essaie de remettre en question.

Dans quels cas faut-il retourner une erreur ou lever une exception ?
Quelle est la nuance entre les deux ?

Merci.
 
WRInaute occasionnel
Salut,

après avoir identifié tous les cas pouvant être des erreurs, tu utilises l'exception pour gérer un évènement ayant une probabilité très faible de se produire (c'est à dire un évènement exceptionnel que tu ne connais pas forcément à l'avance...)
 
WRInaute passionné
Hello,

pour ma part j'utilise les exceptions surtout quand l'erreur doit interrompre un traitement "complexe", sans pour autant arrêter l'intégralité du script.
Bref, j'utilise toujours les exceptions couplées à un try/catch. Donc au contraire il s'agit dans mon cas d'erreurs prévisibles, voir fréquentes.

Pour ce qui est des "erreurs", j'ai une approche plus "discrète" : la fonction va simplement retourner "false" par exemple, et tracer l'erreur par log, mail, ou autre.
L'idée c'est que la page s'affiche "au mieux", même en cas d'erreur : typiquement je ne supporte pas les sites qui font un die() à la moindre erreur SQL.

Je ne suis pas certain que ce soit l'approche idéal, mais ça répond parfaitement à mon besoin.
 
WRInaute occasionnel
Les exceptions sont souvent des évènements exogènes à la logique logicielle et non gérables par le programmeur comme par exemple des problèmes d'accès disque ou des verrouillages de fichiers en écriture.

Après, le code est plus clair avec une gestion d'exceptions à tous les niveaux, et avec des exceptions personnalisées.

Il n'y a pas vraiment de règles standards concernant l'utilisation des exceptions. Ces règles sont souvent déterminées par les chefs de projets ou les analystes en entreprise.
 
Discussions similaires
Haut