Table des matières
Définissez votre fonction de gestionnaire d'erreur personnalisée
Enregistrez le gestionnaire avec set_error_handler
Gérer les types d'erreur spécifiques
Restaurer la gestion des erreurs par défaut
Maison développement back-end tutoriel php Comment utiliser set_error_handler pour créer un gestionnaire d'erreurs personnalisé dans PHP

Comment utiliser set_error_handler pour créer un gestionnaire d'erreurs personnalisé dans PHP

Oct 02, 2025 am 03:54 AM
php Gestion des erreurs

set_error_handler dans PHP permet la gestion des erreurs personnalisées en définissant une fonction qui intercepte les erreurs récupérables, permettant la journalisation contrôlée et les réponses conviviales; Il accepte des paramètres comme $ errno, $ errstr, $ errfile et $ errline pour capturer les détails d'erreur, est enregistré via set_error_handler ("function_name", error_types), peut filtrer les erreurs spécifiques telles que E_Warning ou E_NOTICE, et peut être restée en marche avec Restore_error_handle error_get_last.

Comment utiliser set_error_handler pour créer un gestionnaire d'erreurs personnalisé dans PHP

L'utilisation de set_error_handler dans PHP vous permet de définir une fonction personnalisée qui gère les erreurs au lieu de compter sur les rapports d'erreur par défaut de PHP. Cela vous donne plus de contrôle sur la façon dont les erreurs sont enregistrées, affichées ou traitées, en particulier utiles pour le débogage, la journalisation ou la création de messages conviviaux.

Définissez votre fonction de gestionnaire d'erreur personnalisée

Créez une fonction appelable qui accepte au moins un paramètre: le niveau d'erreur. Vous pouvez inclure jusqu'à cinq paramètres pour capturer les détails de l'erreur complètes.

  • $ errno : le niveau de gravité de l'erreur (par exemple, e_warning, e_notice)
  • $ errstr : le message d'erreur
  • $ errfile : le fichier où l'erreur s'est produite (facultative)
  • $ errline : le numéro de ligne où l'erreur s'est produite (facultative)
  • $ errcontext : un tableau contenant le tableau de symbole actif (rarement utilisé)

Exemple:

Fonction CustomErrorHandler ($ errno, $ errstr, $ errfile, $ errline) {
    // Journire l'erreur à un fichier
    error_log ("error [$ errno] $ errstr in $ errfile on line $ errline", 3, "error.log");

    // affiche éventuellement un message convivial
    écho "Une erreur s'est produite. Veuillez réessayer plus tard.";

    // Empêcher PHP d'utiliser son gestionnaire par défaut
    Retour Vrai;
}

Enregistrez le gestionnaire avec set_error_handler

Après avoir défini votre fonction, inscrivez-la à l'aide de set_error_handler . À partir de ce point, votre fonction gérera les erreurs récupérables.

set_error_handler ("CustomErrorHandler");

Maintenant, lorsqu'un avis ou un avertissement se produit (comme accéder à une variable non définie), votre fonction personnalisée sera déclenchée au lieu du comportement par défaut.

Gérer les types d'erreur spécifiques

Vous pouvez filtrer les erreurs que votre gestionnaire gère en spécifiant un deuxième argument dans set_error_handler , comme E_Warning ou E_notice.

Exemple - gérer uniquement les avertissements et les avis:

set_error_handler ("CustomErrorHandler", e_warning | e_notice);

Cela évite d'attraper des erreurs mortelles (que cette fonction ne peut pas gérer) ou d'autres problèmes graves.

Restaurer la gestion des erreurs par défaut

Si nécessaire, revenez au gestionnaire d'erreur par défaut de PHP à l'aide de restaurer_error_handler .

restaurer_error_handler ();

Ceci est utile si vous voulez une manipulation personnalisée uniquement dans des parties spécifiques de votre application.

Fondamentalement, SET_ERROR_HANDLER vous aide à intercepter et à gérer gracieusement les erreurs de PHP non mortelles. N'oubliez pas: il n'attrape pas d'erreurs fatales comme les erreurs de Parse ou E_ERROR - Utilisez Register_Shutdown_Function et Error_get_last () pour ces cas.

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 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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment trouver l'intersection de deux tableaux en PHP? Comment trouver l'intersection de deux tableaux en PHP? Sep 26, 2025 am 06:23 AM

Utilisez la fonction Array_INTERSECT () pour trouver l'intersection de deux tableaux, qui renvoie des éléments qui existent dans chaque tableau en même temps, et les noms de clés sont conservés du premier tableau. Par exemple: $ arr1 = ['Apple', 'Banana', 'Orange']; $ arr2 = ['banana', 'kiwi', 'Apple']; Le résultat est [«pomme», «banane»].

Comment définir un fuseau horaire par défaut dans PHP? Comment définir un fuseau horaire par défaut dans PHP? Sep 26, 2025 am 06:22 AM

SetTheDefaultTimezoneInphpusingDate_Default_timezone_Set ('America / New_york'); WithavalidIdentifierLiLiNutCoreurope / LondontoensureConsistentDate / TimeHandlingAcrossFunctions et les environnements.

Sep 26, 2025 am 05:59 AM

ActiveraErrorReporttingwithini_setanderror_reporttingtodisplayAntalLerrors, usevar_dumporprint_rtoinspectvariables, checkPhpandServerLogsforhiddenisss, andleveryxdebugwithanideforadvanceddebugging.

La dernière version de Mantianxing Comics est exclusivement publiée. L'installateur officiel de bandes dessinées de Mantianxing La dernière version de Mantianxing Comics est exclusivement publiée. L'installateur officiel de bandes dessinées de Mantianxing Sep 26, 2025 pm 12:18 PM

La dernière version de Mantianxing Comics offre une expérience pure sans publicité, prend en charge les mises à jour 24/7, la lecture multimode et les signets intelligents, a un cache efficace intégré pour lire hors ligne, intègre les thèmes mondiaux, japonais, coréens et d'autres thèmes, couvre plusieurs thèmes tels que les villes fantastiques et est équipée à la classification dynamique et aux recommandations personnelles. L'interface est simple et rapide à charger et comprend des fonctions d'interaction communautaire.

Mantianxing Comics Version complète Entrance_Mantianxing Comics Advertising Special Edition Lien Mantianxing Comics Version complète Entrance_Mantianxing Comics Advertising Special Edition Lien Sep 28, 2025 am 10:30 AM

La version complète de Mantianxing Comic est https://www.mantianxingmh.com. La plate-forme couvre une variété de thèmes tels que la passion, l'amour, le suspense, la science-fiction, etc., avec des ressources riches et des mises à jour en temps opportun et soutient la récupération classifiée; Il offre une qualité d'image à haute définition, des modes de virage à plusieurs pages, un ajustement de fond et une luminosité personnalisés, et dispose d'un mode de protection oculaire pour optimiser l'expérience de lecture; Les utilisateurs peuvent créer des étagères, enregistrer des enregistrements de lecture, télécharger hors ligne et réaliser des progrès de synchronisation croisée.

Comment supprimer un fichier à l'aide de PHP? Comment supprimer un fichier à l'aide de PHP? Sep 27, 2025 am 06:08 AM

Utilisez la fonction Unlink () pour supprimer des fichiers dans PHP. Vous devez vous assurer que le chemin du fichier est correct et que le serveur a des autorisations d'écriture. Avant la suppression, vous devez vérifier que le fichier existe et empêcher le chemin de manipuler de manière malveillante.

Comment utiliser la programmation orientée objet (POO) dans PHP? Comment utiliser la programmation orientée objet (POO) dans PHP? Sep 28, 2025 am 03:26 AM

OopinphporganizescodeNororeusableclasses et objet.1.classesdefineproperties et méthodes, InstanciatedVia $ this.2.Constructors (__ Construct) initializeObjectProperties.3. accessmodificateurs (public, privé, protégé)

Comment obtenir le dernier ID inséré dans PHP MySQL? Comment obtenir le dernier ID inséré dans PHP MySQL? Sep 28, 2025 am 05:57 AM

Utilisez mysqli_insert_id () (style de procédure), $ mysqli-> insert_id (style objet), ou $ pDo-> lastInsertid () (PDO) pour obtenir le dernier ID inséré et doit être appelé immédiatement dans la même connexion pour assurer une précision.

See all articles