Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang fungsi pengendalian ralat PHP

Penjelasan terperinci tentang fungsi pengendalian ralat PHP

PHPz
PHPzasal
2023-06-21 08:51:091464semak imbas

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.

  1. Tahap pelaporan ralat

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.

  1. Fungsi pengendalian ralat

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");

Ralat pengelogan

    Selain daripada fungsi pengendalian ralat PHP yang diperkenalkan di atas, terdapat satu lagi kaedah pengendalian ralat yang merekodkan log ralat. Merakam log ralat boleh membantu kami memahami masalah dengan lebih baik dan mencari dan menyelesaikannya dengan cepat.
  1. PHP menyediakan fungsi error_log(), yang boleh menulis maklumat ralat pada fail:
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.

Kesimpulan

    Artikel ini memperkenalkan tahap pelaporan ralat PHP, fungsi pengendalian ralat dan kaedah pengelogan ralat. Menggunakan kaedah pengendalian ralat yang betul boleh membantu kami menyelesaikan masalah dengan cepat dan berkesan serta meningkatkan kebolehpercayaan dan kestabilan program. Semasa menulis aplikasi PHP, adalah disyorkan untuk menggunakan kaedah yang diperkenalkan di atas secara fleksibel dan memilih kaedah pengendalian ralat yang sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci Penjelasan terperinci tentang 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