Maison  >  Article  >  développement back-end  >  qu'est-ce que le suppresseur d'erreurs en php

qu'est-ce que le suppresseur d'erreurs en php

王林
王林original
2020-08-06 14:20:373324parcourir

Le suppresseur d'erreurs en php est @, et l'opérateur @ n'est valable que pour les expressions. Lorsque nous le plaçons avant une expression PHP, tous les messages d'erreur pouvant être générés par l'expression seront ignorés, en utilisant des méthodes telles que : [$value = @$cache[$key];].

qu'est-ce que le suppresseur d'erreurs en php

PHP prend en charge un opérateur de contrôle d'erreur : @. Lorsqu'il est placé avant une expression PHP, tout message d'erreur que cette expression peut produire est ignoré.

(Tutoriel recommandé : Tutoriel graphique php )

Si vous utilisez set_error_handler() pour définir une fonction de gestion des erreurs personnalisée, elle sera toujours appelée, mais cette erreur La fonction de gestionnaire peut (et doit) appeler error_reporting(), qui renverra 0 s'il y a @ avant l'instruction d'erreur.

Exemple : l'opérateur

<?php
/* Intentional file error */
$my_file = @file (&#39;non_existent_file&#39;) or
    die ("Failed opening file: error was &#39;$php_errormsg&#39;");

// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn&#39;t exist.

?>

@ n'est valable que pour les expressions.

(Tutoriel vidéo recommandé : Introduction à la programmation)

Une règle simple pour les novices est la suivante : si vous pouvez obtenir une valeur de quelque part, vous pouvez l'ajouter devant sur l'opérateur @. Par exemple, vous pouvez le placer avant les variables, les fonctions et inclure des appels, des constantes, etc. Il ne peut pas être placé avant la définition d'une fonction ou d'une classe, ni être utilisé dans des structures conditionnelles telles que if et foreach.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn