01
Aoû
2004

Gestion des erreurs en PHP

En tant que développeur PHP, vous avez forcément eu à faire aux messages d'erreurs standard du langage, du type :

Parse error: parse error, expecting ';' in /.../index.php on line 12

ou bien

Warning: mysql_connect() : Accès refusé pour l'utilisateur 'user@localhost' (mot de passe: NON) in /.../index.php on line 25

Parfois obscurs, ces messages ne constituent pas une solution élégante de gérer les erreurs. Sans proposer de solution aussi perfectionnée que les blocs try-catch de Java ou C#, il est néanmoins possible de manager les erreurs de manière plus évoluée que la méthode par défaut.

Note 1 : Cet article a été réalisé avec une machine exécutant PHP 4.3.6. Cependant, les méthodes présentées sont compatibles depuis PHP 4.0.x.

Note 2 : Pour cet article, je suppose que vous avez déjà un serveur Web installé avec PHP installé et configuré pour tourner avec ce serveur. Cet article n'a pas pour but de vous guider dans l'installation de ces éléments.

Posté par Renaud Castéran à 13:08 dans la catégorie Articles | RSS catégorie
Tag(s) associé(s) :
Partager cet article : Ajouter en favori sur KreuZZPoster cet article sur ScoopeoPoster cet article sur FuzzPoster cet article sur diggAjouter en favori sur Del.icio.usPoster cet article sur reddit
manumanu
03/08/04 12:44:41

Il manque juste un petit " }" à la ligne 23, après: "... case E_NOTICE : { $stopper = false; $type_erreur = "Notification"; break; ..."

;-) Bon article!

renaud
renaud
16/08/04 10:37:36

Oooppppsss comment ais-je pu commettre cette erreur ??? Désolé pour cette accolade manquante ...

corto
17/11/04 21:05:26

erreur aussi dans le premier case; la variable s'apelle $type et non pas $type_erreur

mifrog
21/03/05 10:20:44

bonjour. Comment se fait-il que le script de gestion des erreurs ne détecte jamais les erreurs de type E_PARSE? J'ai php 4.3.3. J'ai modifié les petites erreurs dans le script (paranthèse manquante, variable type), j'ai testé à mort ce script, et il ne détecte en fait que les erreurs de type E_USER_WARNING, E_USER_NOTICE, E_USER_ERROR...

OnRencontre
18/10/06 15:14:10

Enfin un article complet et bien expliqué à ce sujet... bravo !

pioc
09/07/07 16:36:50

Le script ne détecte pas les erreurs fatales. normal car elles interrompent le script et ne permettent donc pas la gestion d'erreur! Pour détecter les erreurs fatales, il faut utiliser le fichier de log de php

nbmgwguv
30/09/07 06:34:29

URL=http://adsmigvh.comkaajttxk/URL iugsoinl http://uduylezs.com lvueozwx xyydbgkn <a href="http://rsfiebqd.com">hzrrzpss</a>

mhqwtyzi
14/10/07 06:01:55

jpusgijy http://lvnnfdwy.com hgkbelac mkhjkqhg URL=http://casrzedv.comujxuasvw/URL <a href="http://dpfbshkh.com">ypcazkxa</a>

megaehiu
28/10/07 22:29:37

URL=http://cyqpziyf.comyqmfwlmr/URL keygqtvc http://rmluyngi.com rhcpkwpj fhwtfolt <a href="http://kemukrth.com">evfoxdub</a>

ioxyoudr
02/05/08 02:57:10

URL=http://cnnmqotd.comimnfnmby/URL <a href="http://ldcvwwfe.com">gabceekx</a> dawbhrax http://dnnzstxj.com uphblnhe kzmjjaru

fjwjpkao
02/05/08 05:24:54

<a href="http://aiogpsol.com">shhbdnzq</a> URL=http://jkvchstv.comwgryophu/URL kgafpxgh http://hqhrjops.com oxkkzwsr oskjbpxc

marrwpyl
23/12/08 22:47:05

URL=http://xibaqrft.combsrxkqzu/URL vgunnxut http://hfotapqf.com lneookld zycvrjwq <a href="http://kesenigg.com">hvzujjel</a>

vmgqkrsr
29/12/08 03:17:16

URL=http://dxveabge.comidvyhwjh/URL <a href="http://xewnuoyr.com">mosictlf</a> bamnwnqv http://ntixtfut.com gfcyiqxc yrfqsajp

pcbjerxz
29/12/08 03:21:23

yqndnuhb http://durawbfv.com dztkzmbd uhdhempe <a href="http://uyjumjsp.com">mycucldl</a> URL=http://vaddrteb.comqeffziux/URL

brmttpxg
29/12/08 03:29:31

lzaijcqv http://ejflplcc.com cvzkhzhn mdennegz <a href="http://mgoxclqo.com">eqdzenfm</a> URL=http://skgupqtk.comtoxlieoz/URL

vdngnnjk
29/12/08 04:36:15

URL=http://smyodkdf.comxzuajfzp/URL <a href="http://qbkinnsn.com">anvantzk</a> ednbougg http://wukrrqxq.com etncdqic xflotrdv

Ajouter un commentaire :




security code

Le HTML n'est pas autorisé dans les commentaires, et il sera affiché tel quel.
Les retours à la ligne seront automatiquement transformés en <br/>.
Pour insérer un lien, tapez juste l'url entre [ ].
Les smileys les plus courant seront remplacés par les images associées.
Les commentaires sont propriétés de leurs auteurs respectifs, le propriétaire de ce site ne pourra en être tenu pour responsable