Pengkelasan dan kaedah pemprosesan mesej ralat PHP
2.1 Ralat sintaks
Ralat sintaks ialah salah satu ralat yang paling biasa dalam kod dan paling mudah dicari. Apabila terdapat ralat sintaks dalam kod kami, penghurai PHP akan memaparkan mesej ralat yang sepadan dan menunjukkan nombor baris tertentu kod tersebut.
Contoh 1: Ralat sintaks
<?php echo "Hello, World!' ?>
Mesej ralat:
Ralat parse: ralat sintaks, '$' yang tidak dijangka dalam example.php pada baris 2
Dalam contoh di atas, ralat sintaks adalah kerana petikan rentetan itu bukan tertutup.
Kaedah pemprosesan:
Dalam keadaan biasa, kita hanya perlu mencari baris kod yang sepadan dan menyemak ralat sintaks mengikut mesej ralat.
2.2 Ralat Masa Jalan
Ralat masa jalan merujuk kepada ralat yang berlaku apabila kod sedang berjalan dan juga merupakan salah satu ralat yang paling biasa. Ralat masa jalan boleh menyebabkan gangguan atau pengecualian kod.
Contoh 2: Ralat Masa Jalan
<?php $number = 10; echo $number / 0; ?>
Mesej ralat:
Amaran: Pembahagian dengan sifar dalam contoh.php pada baris 3
Dalam contoh di atas, ralat masa jalan disebabkan oleh pembahagian dengan sifar.
Kaedah pengendalian:
Untuk ralat masa jalan, kami boleh menggunakan pernyataan bersyarat atau mekanisme pengendalian pengecualian untuk mengelakkan dan mengendalikan ralat.
2.3 Ralat Logik
Ralat logik merujuk kepada ralat dalam logik kod ia biasanya tidak menghasilkan mesej ralat, tetapi akan menjejaskan pelaksanaan biasa atur cara.
Contoh 3: Ralat Logik
<?php $number = 10; if ($number >= 0) { echo "Positive number"; } else { echo "Negative number"; } ?>
Dalam contoh di atas, ralat logik disebabkan oleh pertimbangan bersyarat yang salah.
Kaedah pengendalian:
Untuk ralat logik, kita perlu menyemak logik kod dengan teliti untuk memastikan ketepatan penghakiman dan algoritma bersyarat.
3.1 Hidupkan pelaporan ralat
Semasa proses pembangunan PHP, kita boleh menghidupkan pelaporan ralat dengan menetapkan fail php.ini. Cuma tambah kod berikut pada fail php.ini:
display_errors = on error_reporting = E_ALL
3.2 Menggunakan fungsi pengendalian ralat
PHP menyediakan beberapa fungsi pengendalian ralat terbina dalam yang boleh digunakan untuk menangkap dan mengendalikan pelbagai jenis ralat.
3.2.1 fungsi die() Fungsi
die() digunakan untuk mengeluarkan maklumat ralat dan menamatkan pelaksanaan skrip.
Contoh 4: Gunakan fungsi die() untuk memproses maklumat ralat
<?php $number = 10; if ($number > 5) { die("Number is greater than 5"); } else { echo "Number is less than or equal to 5"; } ?>
3.2.2 set_error_handler() fungsi
Fungsi set_error_handler() digunakan untuk menyesuaikan fungsi pengendalian ralat, yang boleh mengeluarkan maklumat ralat ke fail log atau lokasi lain.
Contoh 5: Gunakan fungsi set_error_handler() untuk memproses maklumat ralat
<?php function customErrorHandler($errno, $errstr, $errfile, $errline) { // 将报错信息写入日志文件 $logMessage = "Error: [$errno] $errstr - $errfile:$errline"; error_log($logMessage, 3, "/var/log/php-error.log"); } // 使用自定义错误处理函数 set_error_handler("customErrorHandler"); // 产生一个报错信息 echo $undefinedVariable; ?>
Fungsi pengendalian ralat tersuai dalam contoh di atas menulis maklumat ralat ke fail log.
Atas ialah kandungan terperinci Kaedah pengelasan dan pemprosesan mesej ralat PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!