Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang tahap ralat ralat dalam php

Penjelasan terperinci tentang tahap ralat ralat dalam php

PHPz
PHPzasal
2023-04-04 14:29:211093semak imbas

Apabila membangun dengan PHP, anda selalunya perlu menggunakan fungsi pengelogan. PHP menyediakan fungsi error_log, yang boleh menyimpan log ralat ke pelayan setempat atau jauh. Log ralat dibahagikan kepada tahap ralat yang berbeza, termasuk:

  1. E_ERROR: Ralat yang serius, sistem tidak boleh meneruskan pelaksanaan dan perlu menghentikan pelaksanaan serta-merta.
  2. E_WARNING: Ralat tahap amaran, sistem boleh terus melaksanakan.
  3. E_NOTICE: Ralat peringkat pemberitahuan, beberapa nilai telah digunakan sebelum tugasan.
  4. E_STRICT: Petua untuk piawaian pengekodan, digunakan untuk menandakan beberapa penyelewengan dalam penulisan kod.
  5. E_DEPRECATED: Peringatan ciri usang yang akan dialih keluar dalam versi akan datang.
  6. E_PARSE: Ralat analisis sintaks, kod tidak boleh dihuraikan.

Di bawah, mari kita pelajari tentang tahap ralat ini satu demi satu.

  1. E_ERROR

Tahap ralat E_ERROR ialah ralat tahap tertinggi dalam PHP dan biasanya menyebabkan atur cara PHP tidak dapat terus berjalan. Contohnya, pembolehubah tidak ditentukan, memanggil kaedah atau fungsi yang tidak wujud, dsb. Tahap ralat ini biasanya perlu dikendalikan menggunakan fungsi trigger_error atau set_error_handler.

Berikut ialah contoh kod yang menggunakan fungsi trigger_error untuk merekod log ralat:

if(!function_exists('test')){
    trigger_error('函数test不存在', E_USER_ERROR);
}
  1. E_WARNING

E_WARNING peringkat ralat biasanya wujud dalam kod. Masalah kecil yang tidak akan menghalang program PHP daripada terus berjalan. Contohnya, memanggil kelas atau kaedah yang tidak wujud, memanggil kaedah yang tidak boleh diakses, dsb. Ralat tahap ini biasanya boleh dikendalikan menggunakan kenyataan cuba...tangkap.

Berikut ialah contoh kod yang menggunakan try...catch untuk menangkap ralat amaran:

try{
    $test = new Test();
} catch (Error $e) {
    error_log($e->getMessage());
}
  1. E_NOTICE

Ralat E_NOTICE tahap biasanya beberapa Maklumat penting tidak diproses dengan betul. Contohnya, menggunakan pembolehubah yang tidak dimulakan, beroperasi pada pemalar yang tidak ditentukan, dsb. Ralat tahap ini biasanya boleh dikendalikan dengan menggunakan fungsi isset.

Berikut ialah contoh kod yang menggunakan fungsi isset untuk mengendalikan ralat pemberitahuan:

if (!isset($test)) {
    error_log('未定义的变量');
}
  1. E_STRICT

Tahap ralat E_STRICT biasanya digunakan untuk menggesa Pengaturcara PHP menulis kod yang tidak teratur. Contohnya, menggunakan sintaks yang tidak digunakan, pembayang jenis yang tidak sesuai, dsb. Ralat tahap ini boleh diselesaikan dengan mengubah suai kod.

  1. E_DEPRECATED

Tahap ralat E_DEPRECATED biasanya digunakan untuk mengingatkan pengaturcara PHP bahawa ciri tertentu akan dialih keluar dalam versi akan datang. Sebagai contoh, parameter fungsi tertentu telah berubah tetapi versi lama parameter fungsi masih digunakan. Ralat tahap ini boleh diselesaikan dengan mengubah suai kod.

  1. E_PARSE

Tahap ralat E_PARSE ialah ralat analisis sintaks Ralat sintaks dikesan semasa semakan ketepatan program PHP. Biasanya program tidak boleh dihuraikan dan dilaksanakan. Contohnya, terlupa untuk memasukkan koma bertitik pada akhir pernyataan, menggunakan kata kunci yang tidak sah, dsb. Ralat tahap ini boleh diselesaikan dengan mengubah suai kod.

Apabila menulis program PHP, kita harus mengendalikan pelbagai tahap ralat dengan munasabah dan merekod maklumat ralat tepat pada masanya untuk memastikan keteguhan dan kestabilan atur cara.

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