francoisch Posté 12 Mai 2014 Posté 12 Mai 2014 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
Portekoi Posté 26 Mai 2014 Posté 26 Mai 2014 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant