Rumah >pembangunan bahagian belakang >tutorial php >Cara mengendalikan pengecualian dan ralat dengan PHP

Cara mengendalikan pengecualian dan ralat dengan PHP

PHPz
PHPzasal
2024-05-01 16:00:01655semak imbas

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.

如何使用 PHP 处理异常和错误

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

  • Pengecualian ialah ralat bukan maut yang berlaku semasa pelaksanaan program dan daripadanya atur cara boleh pulih.
  • Ralat ialah ralat serius yang mana program tidak dapat dipulihkan.

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 pengecualian FileNotFoundException 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn