Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menguasai fungsi pengendalian ralat PHP

Menguasai fungsi pengendalian ralat PHP

王林
王林asal
2023-08-07 18:57:201199semak imbas

Kuasai fungsi pengendalian ralat PHP

Pengendalian ralat merupakan bahagian yang tidak dapat dielakkan dalam proses pengaturcaraan. Sama ada anda sedang membangunkan tapak web kecil atau aplikasi besar, anda perlu dapat menangani ralat dengan sewajarnya apabila ia berlaku. PHP menyediakan satu siri fungsi pengendalian ralat untuk membantu pembangun mengenal pasti dan menyelesaikan masalah.

1. Jenis ralat

Terdapat banyak jenis ralat dalam PHP. Jenis ralat biasa termasuk: Ralat Maut, Ralat Parse, Ralat Amaran, Ralat Maut dan Ralat Notis. Setiap jenis ralat mewakili tahap ralat dan kaedah pengendalian yang berbeza.

2. Fungsi pengendalian ralat

PHP menyediakan beberapa fungsi pengendalian ralat terbina dalam Pembangun boleh menggunakan fungsi ini untuk menyesuaikan mekanisme pengendalian ralat mereka sendiri.

  1. fungsi mati()

fungsi mati() digunakan untuk mengeluarkan maklumat ralat dan menamatkan pelaksanaan skrip. Apabila ralat serius berlaku dalam skrip, anda boleh menggunakan fungsi ini untuk menghentikan skrip daripada berjalan dan mengeluarkan mesej ralat yang sepadan.

<?php
    $file = fopen("test.txt", "r");

    if (!$file) {
        die("无法打开文件");
    }
    
    // 继续操作文件
?>

Dalam contoh ini, kami cuba membuka fail yang tidak wujud. Memandangkan fail tidak wujud, operasi gagal dan kami menggunakan fungsi die() untuk mengeluarkan mesej ralat dan menghentikan pelaksanaan skrip. Fungsi

  1. error_get_last()

error_get_last() digunakan untuk mendapatkan maklumat ralat terakhir yang berlaku. Apabila ralat berlaku, anda boleh menggunakan fungsi ini untuk mendapatkan maklumat berkaitan ralat untuk pengendalian yang sesuai.

<?php
    $file = fopen("test.txt", "r");

    if (!$file) {
        $error = error_get_last();
        echo "错误类型:" . $error["type"] . "<br>";
        echo "错误信息:" . $error["message"] . "<br>";
        echo "错误文件:" . $error["file"] . "<br>";
        echo "错误行号:" . $error["line"] . "<br>";
    }
?>

Dalam contoh ini, kami juga cuba membuka fail yang tidak wujud. Apabila pembukaan fail gagal, kami menggunakan fungsi error_get_last() untuk mendapatkan maklumat ralat terakhir yang berlaku dan mengeluarkan maklumat yang berkaitan. Fungsi

  1. error_reporting()

error_reporting() fungsi digunakan untuk mengawal tahap ralat yang dipaparkan oleh PHP. Dengan menetapkan tahap ralat yang berbeza, anda boleh melihat mesej ralat yang berbeza.

<?php
    error_reporting(E_ALL);

    echo $undefined_variable;
?>

Dalam contoh ini, kami menggunakan fungsi error_reporting(E_ALL) untuk menetapkan PHP untuk memaparkan semua peringkat ralat. Kemudian kami cuba mengeluarkan pembolehubah yang tidak ditentukan. Memandangkan tahap ralat ditetapkan kepada Semua, PHP akan memaparkan ralat dan mengeluarkan maklumat yang berkaitan.

  1. fungsi set_error_handler()

fungsi set_error_handler() digunakan untuk menetapkan fungsi pengendalian ralat tersuai. Dengan menetapkan fungsi pengendalian ralat tersuai, anda boleh melakukan pemprosesan khusus apabila ralat berlaku.

<?php
    function error_handler($errno, $errstr, $errfile, $errline) {
        echo "自定义错误处理函数<br>";
        echo "错误类型:" . $errno . "<br>";
        echo "错误信息:" . $errstr . "<br>";
    }

    set_error_handler("error_handler");

    echo $undefined_variable;
?>

Dalam contoh ini, kami mentakrifkan fungsi pengendalian ralat tersuai error_handler(). Kemudian, tetapkan fungsi tersuai sebagai fungsi pengendalian ralat melalui fungsi set_error_handler(). Apabila ralat berlaku, PHP akan memanggil fungsi ini dan mengeluarkan mesej ralat yang sepadan.

3 Log ralat

Selain fungsi pengendalian ralat di atas, PHP juga boleh menyimpan maklumat ralat untuk log fail untuk memudahkan penyelesaian masalah dan analisis kemudian. Anda boleh menggunakan fungsi error_log() untuk menulis maklumat ralat pada fail log yang ditentukan.

<?php
    $file = fopen("test.txt", "r");

    if (!$file) {
        $error = error_get_last();
        error_log("错误类型:" . $error["type"] . ",错误信息:" . $error["message"], 3, "error.log");
    }
?>

Dalam contoh ini, kami juga cuba membuka fail yang tidak wujud. Apabila pembukaan fail gagal, kami menggunakan fungsi error_get_last() untuk mendapatkan mesej ralat terakhir yang berlaku dan menulis mesej ralat ke fail error.log.

Dengan menguasai fungsi pengendalian ralat PHP, pembangun boleh menemui dan mengendalikan pelbagai jenis ralat tepat pada masanya, meningkatkan kebolehpercayaan dan kestabilan kod. Dalam pembangunan sebenar, kaedah pengendalian ralat yang sesuai harus dipilih mengikut keperluan khusus untuk lebih menyesuaikan diri dengan keperluan projek.

Atas ialah kandungan terperinci Menguasai fungsi pengendalian ralat 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