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): */
$mon_fichier = @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� $key du tableau n'existe pas

?>

Note: 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 quelque chose, 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.

Voir aussi error_reporting() et la section sur la gestion d'erreurs.

Avertissement

En fait, l'op�rateur "@" va aussi d�sactiver les rapports d'erreurs critiques, qui stoppent l'ex�cution du script. Entre autres, si vous utilisez "@" pour supprimer les erreurs de certaines fonctions, et que cette fonction n'existe pas, ou qu'elle a �t� mal orthographi�e, vous n'aurez aucune indication.