Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2006, 17h52   #1
Futur Membre du Club
 
Inscription : février 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 37
Points : 15
Points : 15
Par défaut Problème sur la gestion des erreurs

Bonjour tout le monde,

Je reviens vers vous car je ne comprend pas J'ai réalisé un module pour chopper toutes les erreurs mais il ne me les prend pas toutes.


Code :
1
2
3
4
5
6
 
function myErrorHandler($level, $string, $file, $line, $context){
  print ( "il y a des erreurs");
  die;
}
set_error_handler("myErrorHandler");

Quand je réalise une erreur de ce type:

J'ai bien une erreur qui est prise en compte dans la gestion des erreurs.
Mais quand je réalise qqe chose de ce type

( j'ai enlevé le $ ).

Et bien ca me met directement:

Citation:
Parse error: syntax error, unexpected '=' in /data/www/Action/ActionPage.php on line 47

Savez vous pourquoi ?
Je vous remercie beaucoup de me répondre.

Ronio
ronio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 18h00   #2
Membre actif
 
Homme
Développeur informatique
Inscription : mai 2003
Messages : 400
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : Suisse

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2003
Messages : 400
Points : 186
Points : 186
Bon, je ne suis pas vraiment un spécialiste, mais à première vue je dirais que ton $b = 10/0 est une erreur de type "exécution", tandis que le parse error est plutôt une erreur de type "compilation".

Avec la 2e, ton code n'arrive pas à compiler, donc ton système d'erreur n'est pas mis en place et ne peut donc pas intercepter l'erreur. Tandis qu'avec la division par zéro, le code a bien compilé et c'est pendant l'exécution que l'erreur tombe et peut être catchée par ta fonction.
MiJack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2006, 18h09   #3
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Je suppose que tu utilises set_error_handler.
J'ai de mauvaises nouvelles pour toi.
Citation:
Envoyé par la doc
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é.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 09h37   #4
Futur Membre du Club
 
Inscription : février 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 37
Points : 15
Points : 15
Merci Eusebius et MiJack pour vos réponses!

Je comprend pourquoi maintenant,

Maintenant j'en arrive a la question:

Y a t'il un moyen de prendre en compte TOUTES les erreurs PHP5 ?

Je cherche et si je trouve je poste la réponse ici!
ronio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2006, 09h47   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par ronio
Y a t'il un moyen de prendre en compte TOUTES les erreurs PHP5 ?
Je cherche et si je trouve je poste la réponse ici!
Si tu trouves, la réponse m'intéresse...
Ceci dit tu peux toutes les prendre en compte par le biais des fichiers de log, mais c'est pas pareil.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h46.


 
 
 
 
Partenaires

Hébergement Web