IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

gestionnaire d'erreur et fatal_error


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut gestionnaire d'erreur et fatal_error
    Bonjour,
    Je souhaite créer un gestionnaire d'erreur. Pour cela je definie une fonction error_handler que je passe ensuite en argument de la fonction set_error_handler
    Ceci fonctionne quand j'utilise une constante non définie par exemple mais pas quand j'utilise une fonction non définie.
    Y'a t-il un moyen de gérer les fatal error de ce type?
    Merci par avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Par défaut
    bonjour je ne comprends pas des masses ta question, un exemple serait le bienvenue

    mais as tu pensé as utiliser le "or die" ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Exemple :
    $old_error_handler = set_error_handler("error_handler", E_ALL);

    // constante non définie, qui génère une alerte
    $t = I_AM_NOT_DEFINED;

    //erreur de type warning: division par 0
    $toto = 4/0;

    Ces deux erreurs sont bien gérés par le gestionnaire, j'ai les messages correspondant dans mon fichier.
    Par contre si j'utilise la fonction tata() sans la définir le gestionnaire d'erreur n'est pas déclenché et le message "Fatal error: Call to undefined function tata() in ..." s'affiche à l'écran.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Vous ne pouvez pas intercepter les erreurs fatales :
    Citation Envoyé par http://fr.php.net/set_error_handler
    Les types d'erreur suivants ne peuvent pas être gérés avec cette fonction : E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING ainsi que la plupart des E_STRICT d'un fichier lorsque set_error_handler() est appelé.
    Or pour reprendre votre exemple, une fonction non définie déclenche une erreur de type E_ERROR ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Y'a t-il un moyen pour pouvoir stocker ce type d'erreurs dans un fichier de log ou dans une table?

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ne retrouvez-vous pas toutes les erreurs dans le journal d'erreur du serveur ? Sinon intéressez-vous éventuellement à la directive error_log (php.ini).

  7. #7
    Invité
    Invité(e)
    Par défaut
    Il y a aussi une petite variable sympa $php_errormsg qui est disponible lorsque la directive track_errors est mise à On tout simplement. À noter qu'il est inutile de préciser qu'en serveur de production Display_errors est beaucoup mieux d'être à Off

Discussions similaires

  1. gestionnaire d'erreur léger pour µControlleur
    Par boboss123 dans le forum C
    Réponses: 4
    Dernier message: 22/12/2010, 10h18
  2. Gestionnaire d'erreurs personnalisé
    Par joboy84 dans le forum Langage
    Réponses: 3
    Dernier message: 23/05/2009, 15h13
  3. Gestionnaire d'erreur globale
    Par ToxiZz dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/06/2008, 22h32
  4. Réponses: 2
    Dernier message: 11/02/2007, 13h11
  5. Gestionnaire d'erreurs
    Par rvzip64 dans le forum Langage
    Réponses: 6
    Dernier message: 04/11/2004, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo