Pengendalian ralat dan pengecualian ialah kemahiran pengaturcaraan asas untuk mengendalikan ralat dan situasi yang tidak dijangka dalam PHP. Pengendalian ralat digunakan untuk mengurus ralat sintaks dan logik serta boleh dikawal dan disesuaikan menggunakan fungsi error_reporting() dan set_error_handler(). Pengendalian pengecualian digunakan untuk mengendalikan acara masa jalan dan pengecualian boleh ditangkap dan dikendalikan menggunakan blok cuba-tangkap, menghalang skrip daripada menamatkan dan memberikan maklum balas yang bermakna.
Pengendalian ralat dan pengecualian ialah kemahiran pengaturcaraan penting yang boleh membantu anda menulis aplikasi PHP yang mantap dan boleh dipercayai. Dengan mengendalikan ralat dan pengecualian dengan sewajarnya, anda boleh menghalang ranap aplikasi dan memberikan maklum balas yang bermakna kepada pengguna.
Ralat biasanya disebabkan oleh ralat sintaks atau logik dan bukannya keadaan yang tidak dijangka. Apabila ralat berlaku, PHP menjana mesej ralat dan menamatkan pelaksanaan skrip.
Untuk mengendalikan ralat, anda boleh menggunakan fungsi error_reporting()
untuk mengawal jenis ralat yang akan dilaporkan dan menggunakan fungsi set_error_handler()
untuk menyesuaikan pengendali ralat . error_reporting()
函数来控制要报告的错误类型,并使用 set_error_handler()
函数自定义错误处理程序。
error_reporting(E_ALL); // 报告所有错误类型 function error_handler($errno, $errstr, $errfile, $errline) { // 自定义错误处理逻辑 echo "Error: $errstr in $errfile on line $errline"; } set_error_handler('error_handler');
异常是程序在运行时引发的事件,可能是由意外情况引起的,例如打开不存在的文件或数据库连接。与错误不同,异常不会立即终止脚本执行。
要处理异常,可以使用 try-catch
块来捕获和处理异常。try
块中的代码可能会抛出异常,而 catch
try { // 代码可能会抛出异常 throw new Exception('Error occurred'); } catch (Exception $e) { // 异常处理逻辑 echo "Exception: " . $e->getMessage(); }
try-catch
untuk menangkap dan mengendalikan pengecualian. Kod dalam blok try
boleh membuang pengecualian, manakala blok catch
mengandungi kod untuk mengendalikan pengecualian. try { $conn = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'password'); // 执行查询或其他数据库操作 } catch (PDOException $e) { echo "Database connection failed: " . $e->getMessage(); }
Atas ialah kandungan terperinci Ciri Lanjutan PHP: Seni Pengendalian Ralat dan Pengecualian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!