En PHP, vous pouvez personnaliser la gestion des erreurs via la fonction "set_error_handler()". La fonction de cette fonction est de spécifier une autre fonction comme fonction de gestion des erreurs. La syntaxe est telle que "set_error_handler(callable $error_handler). ...)".
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment personnaliser les invites d'erreur en php ?
PHP set_error_handler()
: Fonction de gestion des erreurs personnalisée
PHP fournit une fonction set_error_handler(), qui peut être utilisée pour spécifier une autre fonction comme fonction de gestion des erreurs. La syntaxe. est la suivante :
set_error_handler(callable $error_handler [, int $error_types = E_ALL | E_STRICT ])
Description du paramètre
1) $error_handler est un nom de fonction défini par l'utilisateur. En plus du nom de la fonction, vous pouvez également transmettre NULL pour réinitialiser le gestionnaire. état par défaut. Vous pouvez également transmettre un tableau d'objets de référence et de noms de méthodes d'objet.
Le format de la fonction définie par l'utilisateur est le suivant :
error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]])
où :
Le premier paramètre $errno représente le niveau d'erreur et est de type entier <🎜 ; >
Le deuxième paramètre $errstr représente les informations d'erreur, qui est un type de chaîne Le troisième paramètre $errfile est un paramètre facultatif, qui représente le nom du fichier où l'erreur s'est produite, et est une chaîne ; type;Le quatrième paramètre $errline est également un paramètre facultatif, indiquant le numéro de ligne où l'erreur s'est produite, et est un type entier Le cinquième paramètre $errcontext est également un paramètre facultatif ; (obsolète dans PHP7.2.0 ultérieurement), représente un tableau de tables de symboles actives lorsque l'erreur s'est produite. C'est-à-dire que $errcontext contiendra un tableau de toutes les variables dans la portée où l'erreur a été déclenchée. Le gestionnaire d'erreurs de l'utilisateur ne doit pas modifier le contexte d'erreur. Remarque : Si la fonction set_error_handler() renvoie FALSE, le gestionnaire d'erreurs standard continuera à être appelé. 2) Le paramètre $error_types est tout comme le error_reporting du fichier de configuration php.ini qui permet de contrôler l'affichage des erreurs. Ce paramètre peut être utilisé pour bloquer le déclenchement de $error_handler. Sans ce masque, $error_handler sera appelé à chaque erreur, quelle que soit la manière dont $error_reporting est défini. Si un gestionnaire d'erreurs a été défini auparavant, le nom du programme est renvoyé ; s'il s'agit d'un gestionnaire d'erreurs intégré, NULL est renvoyé. Si une fonction de rappel non valide est spécifiée, NULL sera également renvoyé. Si le gestionnaire d'erreurs précédent était une méthode de classe, cette fonction renvoie un tableau indexé avec les noms de classe et de méthode. [Exemple] Personnalisez une fonction de gestion des erreurs et utilisez-la pour gérer les erreurs dans le programme.
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); strpos(); ?>
error number:2 error msg:strpos() expects at least 2 parameters, 0 given error file:D:\WWW\index.php error line:10 something error
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); /* 触发异常 */ try { $a = 5/0; echo $a; } catch(Exception $e) { echo $e->getMessage(); } ?>
error number:2 error msg:Division by zero error file:D:\WWW\index.php error line:12 something error
Tutoriel vidéo PHP"
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!