Aller au contenu
francoisch

Présentation des erreurs

Noter ce sujet :

Recommended Posts

bonjour



Débutant en gestion des erreurs en Php, je travaille sur la présentation des erreurs, normale sur mon site de test, aucune sur mon site de production.



Comme je suis en hébergement mutualisé, je ne peux pas modifier le php.ini pour permettre / interdire la présentation des erreurs.



Pour l'interdire une solution consiste à ajouter un ordre error_reporting(0); ma question: faut-il ajouter cet ordre dans chaque page concernée.



Une autre solution, je crois, consiste à ajouter une directive php_value display_errors off dans mon fichier Htaccess; ça me créerait une contrainte car mon Htaccess est jusqu'ici identique en test et en prod.



Quelle solution préférer? Merci par avance de votre aide.



Francois


Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Je vais parler uniquement au niveau des exceptions

J'utilise le try/catch et j'en suis assez content.

Par exemple, dans une classe, je fais ceci :

class Calcule{    public function DiviseParZero($value){        try{            return $value/0;        }catch(Exception $e){            //Soit je relève l'exception pour ma couche appelante (IHM), soit je la log, soit les deux            throw $e;            //Ou je logue et je la lève            Tools::LogError($e);            throw $e;        }    }}


Et dans mon IHM :

try{    $c = new Calcule();    $r = $c->DiviseParZero(1);}catch(Exception $e){    $message = "Une erreur est survenue : " . $e->getMessage();}

Une Fatale Error ne doit (normalement) jamais se produire en production. Sauf mauvaise livraison ou autre.

Si tu veux les intercepter, il te faudra Php 5.2+ :

http://stackoverflow.com/questions/277224/how-do-i-catch-a-php-fatal-error

Portekoi


Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×