Opérateur de contrôle d'erreur

PHP supporte un opérateur de contrôle d' erreur : c 'est @ . Lorsque cet opérateur est ajouté en préfixe d' une expression PHP , les messages d 'erreur qui peuvent être générés par cette expression seront ignorés .

Si l' option track_errors est activée , les messages d 'erreurs générés par une expression seront sauvés dans la variable globale $php_errormsg . Cette variable sera écrasée à chaque erreur . Il faut alors la surveiller souvent pour pouvoir l ' utiliser .

 
?php

 
/

 
*

 
Erreur

 
intentionnelle

 
(

 
le

 
fichier

 
n'existe

 
pas)

 
:

 
*

 
/

 
$my_file

 
=

 
@file

 
('non_persistent_file'

 
)

 
or

 
die

 
("Impossible

 
d

 
'ouvrir

 
le

 
fichier

 
:




 
L'

 
erreur

 
est

 
:

 
'$php_errormsg'")

 
;

 
/

 
/

 
Cela

 
fonctionne

 
avec

 
n'importe

 
quelle

 
expression

 
,

 
pas

 
seulement

 
les

 
fonctions

 
$value

 
=

 
@$cache[$key]

 
;

 
/

 
/

 
la

 
ligne

 
ci-dessus

 
n'affichera

 
pas

 
d'alerte

 
si

 
la

 
cl

 
eacute

 
;

 
$key

 
du

 
tableau

 
n

 
'existe

 
pas

 
?





L' opérateur @ ne fonctionne qu 'avec les expressions . La règle générale de fonctionnement est la suivante : si vous pouvez prendre la valeur de quelquechose , vous pouvez le préfixer avec @ . Par exemple , vous pouvez ajouter @ aux variables , fonctions , à include( ) , aux constantes , etc.. . Vous ne pourrez pas le faire avec des éléments de langage tels que les classes , if et foreach , etc.. .

La plupart des fonctions d' accès aux bases de données ne retournent pas d 'erreur PHP . Il faut y accéder avec une fonction du type base_de_donnees_get_error( ) .

Voir aussi error_reporting( ) .