Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1682 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de gestion d'erreur O.O

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de gestion d'erreur O.O

n°1137215
esox_ch
Posté le 01-07-2005 à 14:29:19  profilanswer
 

Bonjour,
 
Voila, j'ai ce script de gestion d'erreurs et il y a un truc que je comprend pas :
 

Code :
  1. <?php
  2. class errorHandler
  3. {
  4. function __construct()
  5. {
  6.  set_error_handler(array($this,'getError'),E_USER_ERROR);
  7. }
  8. function getError($errno,$errstr,$errfile,$errline) // Pour les grosses erreurs
  9. {
  10.  error_log($errstr.' in '.$errfile.':'.$errline);
  11.  header('HTTP/1.0 500 Internal Server Error');
  12.  die();
  13. }
  14. }
  15. ?>


Et appellé par  

Code :
  1. require('error.class.php');
  2. $error = new errorHandler();
  3. trigger_error("test",E_USER_ERROR);


 
Et le gestionnair d'erreur que j'ai defini n'est pas utilisé ... c'est le gestionnaire par default de PHP qui se lance... On se demande si le probleme vient du fait que le constructeur "utilise" une metode pas encore lue par le parseur PHP (en inversant l'ordre du constructeur et de la metode dans le fichier php c'est toujours pareil). Est-ce que qqn a une idée de comment resoudre le probleme?
 
Le pire c'est que si on l'appelle par  

Code :
  1. require('error.class.php');
  2. $error = new errorHandler();
  3. set_error_handler(array($error,'getError'),E_USER_ERROR);
  4. trigger_error("test",E_USER_ERROR);


 
Ca marche tiptop ....  [:spamafote]  
 
Merci d'avance
 
Esox
 
P.S: Dans le htaccess au meme niveau que le script on a mis un ErrorDocument 500 ./erreur_output.html mais il ne se lance pas quand le header envoie l'erreur 500 ... Aurais-je loupé un episode?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 01-07-2005 à 14:29:19  profilanswer
 

n°1137337
sielfried
Posté le 01-07-2005 à 15:26:44  profilanswer
 

J'y connais pas grand chose en PHP5, mais t'as essayé avec

Code :
  1. $error = &new errorHandler();

et

Code :
  1. set_error_handler(array(&$this, 'getError'), E_USER_ERROR);

? (en rajoutant des & donc)
 
Sinon, en essayant de passer par une méthode appelée par le constructeur ?


Message édité par sielfried le 01-07-2005 à 15:27:05

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1137365
esox_ch
Posté le 01-07-2005 à 15:46:41  profilanswer
 

Donc, non a la 1ere solution (en PHP5 les variables sont passées automatiquement par reference), et non a la deuxieme mais je sais pas pourquoi ... :(


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1137429
sielfried
Posté le 01-07-2005 à 16:03:52  profilanswer
 

En PHP5 le constructeur serait pas par hasard appelé à la première utilisation de l'objet et non à sa création ? Je verrais pas l'intérêt, mais bon...
 
Si tu fous un echo dans ton constructeur là, t'obtiens bien un affichage ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1137610
esox_ch
Posté le 01-07-2005 à 18:00:27  profilanswer
 

Non c'est bien appelé lors de l'instenciation..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1137926
esox_ch
Posté le 02-07-2005 à 09:44:01  profilanswer
 

Personne voit le couac?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1137932
sielfried
Posté le 02-07-2005 à 10:16:27  profilanswer
 

Bon ben je viens juste de faire (ENFIN) la ptite bidouille pour avoir PHP5 (5.04) avec EasyPHP. J'ai donc testé ton truc et... ça marche très bien, il appelle le gestionnaire d'erreur de ta classe et me balance une 500. [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de gestion d'erreur O.O

 

Sujets relatifs
Erreur de session? Aucune documentation trouvée dessusprobleme d affichage avec un tableau html
message d'erreurproblème I.E. pour flash et pas firefox
Problème de mise en page sous Internet ExplorerAccess: erreur OBDC sur champ non renseigné
JSP : probleme utilisation jsp:useBeanprobleme acev application excel avec macro
problemeProblème OleDb sur Base Access
Plus de sujets relatifs à : Probleme de gestion d'erreur O.O


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR