Jump to content
francoisch

Présentation des erreurs

Rate this topic

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


Share this post


Link to post
Share on other 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


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...