Cara mengendalikan pengecualian dan ralat dengan PHP

PHPz
Lepaskan: 2024-05-01 16:00:01
asal
579 orang telah melayarinya

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

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

Mengendalikan pengecualian

PHP menggunakan strukturtry-catchuntuk mengendalikan pengecualian:try-catch结构来处理异常:

try { // 代码块可能抛出异常 } catch (Exception $e) { // 异常处理代码 }
Salin selepas log masuk

实战案例

考虑以下代码,它尝试读取不存在的文件:

try { $file = fopen('non-existent.txt', 'r'); } catch (Exception $e) { echo "文件不存在"; }
Salin selepas log masuk

当脚本运行时,它会捕获FileNotFoundException异常并显示一条友好消息。

处理错误

PHP 设置error_handler函数来处理错误:

set_error_handler(function($errno, $errstr, $errfile, $errline) { // 错误处理代码 });
Salin selepas log masuk

实战案例

考虑以下代码,它试图将一个字符串转换为整数:

$number = (int) "abc";
Salin selepas log masuk

这会触发一个TypeError

set_error_handler(function($errno, $errstr, $errfile, $errline) { echo "错误: {$errstr} ({$errfile}:{$errline})"; });
Salin selepas log masuk

Kes praktikal

Pertimbangkan kod berikut, yang tidak cuba membaca kod berikut wujud: rrreee Apabila skrip berjalan, ia menangkap pengecualian FileNotFoundExceptiondan memaparkan mesej mesra. Mengendalikan RalatPHP Sediakan fungsi error_handleruntuk mengendalikan ralat: rrreeeContoh praktikalPertimbangkan kod berikut, yang cuba menukar kod berikut: rrreeeIni Akan mencetuskan ralat TypeError. Kita boleh menetapkan pengendali ralat berikut untuk mengendalikannya: rrreeeSelepas 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!