Pengendalian ralat adalah bahagian yang sangat penting semasa membangunkan aplikasi PHP. Pengendalian ralat boleh membantu kami mencari dan menyelesaikan masalah dengan cepat serta meningkatkan kebolehpercayaan dan kestabilan program. PHP menyediakan banyak fungsi pengendalian ralat untuk membantu kami menangkap dan mengendalikan ralat semasa program berjalan. Artikel ini akan memperkenalkan fungsi pengendalian ralat PHP secara terperinci.
Dalam PHP, terdapat berbilang peringkat pelaporan ralat dan ralat pada tahap yang berbeza akan ditangkap oleh fungsi pengendalian ralat dan diproses dengan sewajarnya. Tahap pelaporan ralat PHP adalah seperti berikut:
E_ERROR: Ralat maut, ralat di mana atur cara tidak boleh terus melaksanakan. Ia boleh dikendalikan menggunakan fungsi die() atau fungsi trigger_error().
E_AMARAN: Ralat tidak membawa maut, tetapi menjejaskan pelaksanaan program yang betul. Tahap amaran boleh diubah suai menggunakan fungsi error_reporting() dan fungsi ini_set().
E_PARSE: Ralat sintaks, ralat yang tidak dapat dihuraikan oleh atur cara.
E_NOTICE: Ralat bermaklumat, beberapa ralat yang tidak menjejaskan pelaksanaan program, seperti menggunakan pembolehubah tidak ditentukan, dsb.
E_STRICT: Cadangan pengekodan, yang mempunyai cadangan tertentu untuk penulisan program, tetapi tidak menjejaskan pelaksanaan program.
Perlu diingat bahawa tahap ralat E_DEPRECATED telah dialih keluar sejak PHP7.0.
Terdapat banyak fungsi pengendalian ralat dalam PHP. Di bawah ialah beberapa fungsi pengendalian ralat yang biasa digunakan.
a. fungsi die()
Fungsi die() digunakan untuk mengeluarkan mesej ralat dan menghentikan pelaksanaan skrip, yang bersamaan dengan fungsi exit(). Biasanya digunakan apabila ralat serius berlaku. Contohnya: fungsi
if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
b. Anda boleh memilih untuk menggunakan fungsi ini dalam kod anda untuk mengehadkan tahap pelaporan ralat, contohnya:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
c. berfungsi sebagai pengendali ralat PHP. Contohnya:
function errorCallback($errno, $errstr, $errfile, $errline ) { echo "<b>Error:</b> [$errno] $errstr - $errfile:$errline"; die(); } set_error_handler("errorCallback");
d. Fungsi trigger_error()
trigger_error() digunakan untuk mencetuskan ralat secara manual dalam skrip. Contohnya:
if($value > 100) { trigger_error("Invalid value", E_USER_ERROR); }
e. cuba...catch statement
try...catch statement digunakan untuk menangkap dan mengendalikan pengecualian. Dalam blok cuba, kami menulis kod yang mungkin membuang pengecualian. Dalam blok tangkapan, kami menangkap pengecualian dan mengendalikannya dengan sewajarnya. Contohnya:
try { $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { throw new Exception("Connection failed: " . mysqli_connect_error()); } } catch (Exception $e) { echo "Error: " . $e->getMessage(); }
f. fungsi set_exception_handler()
fungsi set_exception_handler() digunakan untuk menetapkan fungsi pengendalian pengecualian yang ditentukan pengguna sebagai pengendali pengecualian semasa. Contohnya:
function exceptionHandler($exception) { echo "Uncaught exception: " . $exception->getMessage(); } set_exception_handler("exceptionHandler");
error_log("Error: Connection failed: " . mysqli_connect_error(), 3, "/var/log/php_error.log");
Antaranya, parameter pertama ialah maklumat ralat, dan parameter kedua ialah rekod log yang ditentukan jenis (0 menunjukkan jenis log lalai, 3 menunjukkan menulis ke fail), parameter ketiga ialah laluan ke fail log yang ditentukan.
KesimpulanAtas ialah kandungan terperinci Penjelasan terperinci tentang fungsi pengendalian ralat PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!