Je me demandais quelle est la norme exceptée pour la manipulation des erreurs dans le modèle. P>
Actuellement, j'ai «setError» et «getterror» des méthodes utilisées par tous mes modèles. P>
Cela signifie que je ne suis concerné que si un appel à une méthode de mon modèle est vrai ou faux. Si c'est faux, j'utiliserais En outre, je contemplerai la configuration d'un fichier séparé contenant toutes mes erreurs. Un fichier par modèle, a également voulu avoir des pensées à ce sujet. P> $ ceci-> Modèle-> getterror () code> dans mon contrôleur. P>
3 Réponses :
Une solution plus simple serait d'utiliser Exceptions .
Lorsqu'une erreur se produit, ce serait quelque chose que vous affichez à un utilisateur, lancez un type spécial d'une exception - peut-être appelé EG: P> userError code>. L'exception doit contenir le texte du message d'erreur lorsque vous le jetez. Ces types d'erreurs sont fonctionnalités EM> qui fournissent aux utilisateurs des informations utiles (c'est-à-dire qu'ils ont tenté de supprimer quelque chose qui n'existait pas - ce qui peut se produire lorsqu'il a plusieurs navigateurs ouverts, etc.) P>
throw new InternalError("Failed to connect to remote service");
J'aime cette idée, la seule mise en garde est s'il y a plusieurs erreurs idéalement, je souhaite enregistrer l'erreur une exécution de la poursuite. Par conséquent, pourquoi j'utilisais SetError et GetError. Je vérifie si le retour est vrai, ce qui signifie que toutes les actions ont réussi et, sinon, j'ai eu l'erreur. Une action mon être partiellement réussie et, par conséquent, je voudrais renvoyer False et utiliser GeterRor pour obtenir un message indiquant quelle partie a échoué. J'espère que cela a du sens.
J'utilise LOG4J et log4CXX et enregistrez-vous à un système SYSLogD. Kiwi est un simple syslogueur Win32 qui suivra vos messages de journal et les enregistrera dans un fichier. LOG4J / LOG4CXX Vous disposez des fichiers de configuration que vous pouvez utiliser pour configurer tous vos niveaux de journalisation ou des destinations de message journal (vous pouvez vous connecter à plusieurs endroits). P>
Il faut si peu d'effort pour la configuration et l'utilisation, et cela fonctionne comme un charme. P>
Je n'ai pas essayé log4php moi-même. p>
Les exceptions sont bonnes lorsque vous ne voulez plus que votre programme puisse continuer à exécuter. Attrapez des exceptions à un niveau élevé où vous pouvez accepter l'automne des exécutions défaillantes. P>
Revoir le didacticiel http://nerddinnerbook.s3.amazonaws.com/part3.htm p>
La partie de validation est d'environ 2/3 de la page. P>