Maison >développement back-end >tutoriel php >Gestion des erreurs dans les fonctions PHP
Les étapes pour implémenter la gestion des erreurs en PHP sont les suivantes : utilisez set_error_handler() pour connecter un gestionnaire d'erreurs à la fonction ; définissez le gestionnaire d'erreurs et spécifiez le type d'erreur à capturer ; déclenchez le message d'erreur via trigger_error(); traiter les erreurs dans le gestionnaire d'erreurs, telles que l'impression des informations sur les erreurs ; vous pouvez personnaliser le type d'erreur et spécifier les erreurs personnalisées à capturer ; utilisez restaurer_error_handler() pour restaurer le comportement de gestion des erreurs par défaut.
En PHP, la gestion des erreurs est cruciale pour garantir que le programme fonctionne de manière stable et fiable. En connectant un gestionnaire d'erreurs à une fonction, nous pouvons détecter et gérer toutes les erreurs pouvant survenir lors des appels de fonction.
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
$error_handler
: Un objet appelable utilisé pour gérer les erreurs. $error_handler
:一个可调用对象,用于处理错误。$error_types
(可选):要捕获的错误的位掩码常量。让我们写一个函数来计算两个数字的商,并使用错误处理来处理除数为 0 的情况:
function divide($numerator, $denominator) { if ($denominator == 0) { trigger_error("Cannot divide by zero", E_USER_ERROR); } return $numerator / $denominator; }
我们接下来设置错误处理程序来捕获此函数中的错误:
set_error_handler(function(int $errno, string $errstr) { if ($errno === E_USER_ERROR) { echo "Error: $errstr\n"; } }); $result = divide(10, 2); // 输出: 5 $result = divide(10, 0); // 输出: Error: Cannot divide by zero
我们还可以使用 trigger_error()
创建自定义错误类型,并通过 $error_types
指定要捕获的自定义错误:
function trigger_custom_error() { trigger_error("Custom error", E_USER_NOTICE); // 创建自定义错误 } set_error_handler(function(int $errno, string $errstr) { if ($errno === E_USER_NOTICE) { echo "Custom error occurred: $errstr\n"; } }); trigger_custom_error(); // 输出: Custom error occurred: Custom error
要恢复到默认错误处理行为,可以使用 restore_error_handler()
$error_types
(facultatif) : constante de masque de bits pour les erreurs à détecter.
set_error_handler(function() {}); // 设置自定义错误处理程序 restore_error_handler(); // 恢复到默认错误处理🎜Nous configurons ensuite un gestionnaire d'erreurs pour détecter Erreurs dans cette fonction : 🎜rrreee🎜Types d'erreurs personnalisés🎜🎜Nous pouvons également créer des types d'erreurs personnalisés en utilisant
trigger_error()
et spécifier ce qu'il faut capturer via $error_types
Erreurs personnalisées : 🎜 rrreee🎜Restaurer la gestion des erreurs🎜🎜Pour restaurer le comportement de gestion des erreurs par défaut, vous pouvez utiliser la fonction restore_error_handler()
: 🎜rrreeeCe 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!