Rumah >pembangunan bahagian belakang >tutorial php >Cara mengendalikan pengecualian dan ralat dengan PHP
Pengecualian dan pengendalian ralat dalam PHP: Pengecualian: ralat bukan maut yang boleh dipulihkan oleh program, dikendalikan menggunakan struktur cuba-tangkap. Ralat: Ralat serius yang tidak dapat dipulihkan oleh program, gunakan fungsi error_handler untuk mengendalikannya. Kes praktikal: tangkap pengecualian FileNotFoundException dan paparkan mesej mesra, kendalikan ralat TypeError dan paparkan mesej ralat.
Cara mengendalikan pengecualian dan ralat menggunakan PHP
Pengecualian dan ralat merupakan bahagian PHP yang tidak dapat dielakkan. Mengendalikan mereka dengan betul adalah penting untuk menulis aplikasi yang mantap dan boleh dipercayai.
Pengecualian dan Ralat
Mengendalikan pengecualian
PHP menggunakan struktur try-catch
untuk mengendalikan pengecualian: 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})"; });
Kes praktikal
🎜🎜Pertimbangkan kod berikut, yang tidak cuba membaca kod berikut wujud: 🎜rrreee 🎜Apabila skrip berjalan, ia menangkap pengecualianFileNotFoundException
dan memaparkan mesej mesra. 🎜🎜🎜Mengendalikan Ralat🎜🎜🎜PHP Sediakan fungsi error_handler
untuk mengendalikan ralat: 🎜rrreee🎜🎜Contoh praktikal🎜🎜🎜Pertimbangkan kod berikut, yang cuba menukar kod berikut: rrreee🎜Ini Akan mencetuskan ralat TypeError
. Kita boleh menetapkan pengendali ralat berikut untuk mengendalikannya: 🎜rrreee🎜Selepas skrip berjalan, ia akan memaparkan mesej ralat: "Ralat: Argumen tidak sah dibekalkan untuk foreach() (err.php:12)". 🎜Atas ialah kandungan terperinci Cara mengendalikan pengecualian dan ralat dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!