Maison >développement back-end >tutoriel php >Comment gérer les exceptions et les erreurs avec PHP
Gestion des exceptions et des erreurs en PHP : Exception : une erreur non fatale dont le programme peut récupérer, gérée à l'aide de la structure try-catch. Erreur : une erreur grave dont le programme ne peut pas récupérer, utilisez la fonction error_handler pour la gérer. Cas pratique : intercepter l'exception FileNotFoundException et afficher un message convivial, gérer l'erreur TypeError et afficher un message d'erreur.
Comment gérer les exceptions et les erreurs avec PHP
Les exceptions et les erreurs sont une partie inévitable de PHP. Les gérer correctement est crucial pour écrire des applications robustes et fiables.
Exceptions et erreurs
Gestion des exceptions
PHP utilise la structure try-catch
pour gérer les exceptions : try-catch
结构来处理异常:
try { // 代码块可能抛出异常 } catch (Exception $e) { // 异常处理代码 }
实战案例
考虑以下代码,它尝试读取不存在的文件:
try { $file = fopen('non-existent.txt', 'r'); } catch (Exception $e) { echo "文件不存在"; }
当脚本运行时,它会捕获 FileNotFoundException
异常并显示一条友好消息。
处理错误
PHP 设置 error_handler
函数来处理错误:
set_error_handler(function($errno, $errstr, $errfile, $errline) { // 错误处理代码 });
实战案例
考虑以下代码,它试图将一个字符串转换为整数:
$number = (int) "abc";
这会触发一个 TypeError
set_error_handler(function($errno, $errstr, $errfile, $errline) { echo "错误: {$errstr} ({$errfile}:{$errline})"; });
Cas pratique
🎜🎜Considérez le code suivant, qui tente de lire un fichier qui ne exist : 🎜rrreee 🎜Lorsque le script s'exécute, il intercepte l'exceptionFileNotFoundException
et affiche un message convivial. 🎜🎜🎜Gestion des erreurs🎜🎜🎜PHP Configurez la fonction error_handler
pour gérer les erreurs : 🎜rrreee🎜🎜Exemple pratique🎜🎜🎜Considérez le code suivant, qui tente de convertir une chaîne en un entier : 🎜 rrreee🎜Cela déclenchera une erreur TypeError
. Nous pouvons définir le gestionnaire d'erreur suivant pour le gérer : 🎜rrreee🎜Une fois le script exécuté, il affichera le message d'erreur : "Erreur : argument non valide fourni pour foreach() (err.php:12)". 🎜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!