gestionnaire d'erreurs personnalisé php

(*-*)浩
Libérer: 2023-02-23 22:14:01
original
2149 Les gens l'ont consulté

Si vous êtes un vétéran de PHP, vous savez bien sûr ce qui se passe lorsqu'un script PHP échoue. À ce stade, l'analyseur PHP affichera un message d'erreur à l'écran, tel que Erreur fatale : appel à une fonction non définie à la ligne 19 --, le programme se termine donc ici. Cette information effrayera le client, qui pourra vous appeler immédiatement pour une consultation.

gestionnaire d'erreurs personnalisé php

Heureusement, il existe une solution. PHP dispose d'outils intégrés qui permettent aux développeurs de détecter les erreurs de script et de les acheminer vers des gestionnaires d'erreurs personnalisés. À ce stade, le processeur peut être programmé pour afficher des informations plus spécifiques sur l'erreur. (Apprentissage recommandé : Programmation PHP du débutant à compétent)

Les erreurs peuvent également être écrites dans des fichiers ou des bases de données pour prendre des mesures correctives. Il est parfois possible de programmer le processeur pour qu'il ignore les messages d'erreur.

Dans cet article, j'expliquerai comment utiliser l'API de gestion des erreurs de PHP pour créer un gestionnaire d'erreurs défini par l'utilisateur, et j'expliquerai comment afficher et gérer les informations d'erreur de script de manière simple et conviviale.

Types d'erreurs et niveaux de rapport

Commençons par les bases. PHP a trois types d'erreurs les plus élémentaires, du niveau bas au niveau élevé : attention, avertissement et erreur (ou erreur fatale). Normalement, les mises en garde et les avertissements ne mettent pas fin au programme ; mais les erreurs fatales sont des échecs dangereux (par exemple, l'appel d'une fonction non définie ou la référence à un objet inexistant) qui entraîneront l'interruption du programme. Ces erreurs peuvent se produire lors du démarrage, de l'analyse, de la compilation ou de l'exécution.

Des mots clés tels que E_NOTICE, E_ERROR, etc. sont utilisés pour indiquer différents types et niveaux d'erreurs. Une liste détaillée d'entre eux peut être trouvée dans le manuel PHP.

L'affichage des erreurs dans la phase de script est contrôlé par la fonction error_reporting(). Cette fonction définit différents paramètres pour différents niveaux d'erreur. Le tableau A montre un script qui utilise cette fonction pour signaler les avertissements et les erreurs fatales.

Tableau A

<?php
// display warnings and errors
error_reporting(E_WARNING | E_ERROR);
// this will generate a notice, which will never be displayed
echo $undefinedVar;
// this will generate a fatal error, which will be displayed
callUndefFunc();
?>
Copier après la connexion

En comparant le code du tableau B avec celui ci-dessus, il s'avère que les informations d'erreur et même les informations fatales sont cachées dans le listing B afin que les informations d'erreur ne soient pas être affiché.
Tableau B

<?php
// turn off error display
// no errors will be displayed
error_reporting(0);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();
?>
Copier après la connexion

Le code du tableau C affiche tous les messages d'erreur et même des précautions simples :
Tableau C

<?php
// all errors will be displayed
error_reporting(E_ALL);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();
?>
Copier après la connexion

Comme ci-dessus Comme indiqué dans le Trois exemples, la fonction error_reporting() est très importante pour contrôler le contenu affiché à l'écran lorsqu'une erreur survient. Le mot clé ici est affiché, ce qui signifie que l'erreur n'est pas affichée plutôt que qu'elle ne se produit pas. Par conséquent, lorsqu'une erreur fatale se produit (telle qu'un appel de fonction incorrect), le programme est terminé, mais aucun message n'est affiché à l'utilisateur pour le moment ;

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!