Dalam artikel sebelumnya, saya membawakan anda "Lima minit untuk membantu anda memahami pengendalian pengecualian dalam PHP", yang memperkenalkan secara terperinci isu berkaitan pengendalian pengecualian PHP Artikel ini Dalam artikel ini, mari kita teruskan melihat pengetahuan yang berkaitan tentang pengendalian ralat PHP, jenis ralat PHP dan tahap ralat PHP. Saya harap ia akan membantu semua orang.
Pengaturcara pasti akan melakukan beberapa kesilapan semasa proses pembangunan, atau ralat mungkin berlaku kerana sebab-sebab lain Pada masa ini, adalah perlu untuk kita memahami apa yang ada dalam PHP Jenis ralat dan tahap ralat. Anda juga boleh mengklik pada video pengajaran "php Error Handling" percuma untuk mempelajari pengetahuan berkaitan.
Ralat program PHP secara amnya dibahagikan kepada tiga kategori, iaitu ralat sintaks, ralat pelaksanaan dan ralat logik.
Ralat Tatabahasa
Ralat tatabahasa ialah masalah yang paling biasa dalam pengaturcaraan . Ini adalah salah satu ralat yang paling mudah untuk diperbaiki Contohnya, mesej ralat dipaparkan apabila koma bertitik tiada. Ralat ini menghentikan pelaksanaan program dan memaparkan mesej ralat. Kami boleh membetulkan atur cara berdasarkan mesej ralat dan melaksanakannya semula.
Ralat sintaks boleh dikatakan sebagai jenis ralat yang paling biasa kita hadapi dalam proses pengaturcaraan Pada masa yang sama, saya fikir ia juga ralat yang paling mudah untuk diselesaikan sebagai contoh: terlupa memasukkan koma bertitik apabila menaip. Atau sintaks fungsi salah.
<?php $a = 1 echo $a; ?>
Dalam contoh di atas, terdapat koma bertitik hilang pada penghujung baris kedua, dan hasil keluarannya tidak betul.
Selepas menambah koma bernoktah, program berjalan seperti biasa dan hasil output ialah 1. Daripada ini kita dapat melihat bahawa apabila ralat sintaks berlaku, atur cara akan berhenti dan terus melaksanakan Apabila ralat sintaks diselesaikan, atur cara boleh terus melaksanakan.
Ralat masa jalan
Ralat masa jalan ialah prosesnya menjalankan program Ralat berlaku dalam program Apa yang perlu diperhatikan pada masa ini ialah tiada ralat sintaks, tetapi semasa proses pelaksanaan, PHP akan memberi amaran kepada anda bahawa terdapat sesuatu yang tidak munasabah dalam program. program akan terus berjalan ke bawah.
Contohnya adalah seperti berikut:
<?php $a = 1; $b = 0; $c = $a / $b; echo "$a / $b = $c"; ?>
Dalam contoh di atas, tiada ralat sintaks, tetapi 0 tidak boleh digunakan sebagai pembahagi, hasil output ialah:
Ralat logik
A program dengan ralat logik akan dilaksanakan secara normal, tetapi Hasil keluaran adalah salah Punca punca berlaku dalam kod yang kami tulis. Contohnya adalah seperti berikut:
<?php $a = 1; $b = 2; if($a = $b){ echo '$a = $b'; }else{ echo '$a != $b'; } ?>
Hasil keluaran:
Daripada contoh di atas kita dapat melihat bahawa hasil keluaran jelas salah. Ia adalah logik apabila ralat logik berlaku, tiada mesej penggera. Ini memerlukan kita lebih berwaspada dan mengelakkan kesilapan logik.
Terdapat kedua-dua jenis ralat dan tahap ralat ditakrifkan dalam PHP, yang boleh ditakrifkan dalam php.ini. (Klik "Bagaimana untuk memuat naik fail dalam PHP? Anda akan faham selepas membaca ini! " untuk melihat cara mencari php.ini)
Jenis ralat dalam PHP adalah seperti berikut :
1 ---E_ERROR
---Ralat masa jalan yang maut, biasanya situasi yang tidak dapat dipulihkan, seperti masalah yang disebabkan oleh peruntukan memori, akan menyebabkan skrip ditamatkan dan tidak terus dijalankan.
2 --- E_WARNING
--- Amaran masa jalan (ralat bukan maut), hanya maklumat segera diberikan, tetapi skrip tidak akan menamatkan operasi.
4 --- E_PARSE
--- Ralat penghuraian sintaks masa kompilasi, hanya dijana oleh penganalisis.
8 --- E_NOTICE
---Pemberitahuan masa jalan, menunjukkan bahawa skrip menghadapi situasi yang mungkin muncul sebagai ralat, tetapi mungkin juga terdapat pemberitahuan serupa dalam skrip yang boleh berjalan seperti biasa.
16 --- E_CORE_ERROR
--- Ralat maut yang berlaku semasa permulaan permulaan PHP, serupa dengan E_ERROR, tetapi dijana oleh teras enjin PHP.
--- Ralat kompilasi lemak, serupa dengan E_ERROR, dijana oleh enjin skrip Zend. E_COMPILE_ERROR
--- Susun amaran masa (ralat bukan maut), serupa dengan E_WARNING, tetapi dijana oleh enjin skrip Zend. . E_COMPILE_WARNING
1024 --- E_STRICT
--- Dayakan cadangan PHP untuk pengubahsuaian kod bagi memastikan kesalingoperasian terbaik dan keserasian hadapan kod.
--- Pemberitahuan masa jalan, selepas mendaftar, ia akan memberi amaran kepada kod yang mungkin tidak berfungsi dengan betul dalam versi akan datang. E_DEPRECATED
--- Mesej amaran yang dijana oleh pengguna adalah serupa dengan E_DEPRECATED, tetapi ia dijana oleh pengguna menggunakan fungsi PHP trigger_error() dalam kod. E_USER_DEPRECATED
--- Semua ralat dan mesej amaran kecuali E_STRICT. E_ALL
Tutorial Video PHP" untuk belajar!
Atas ialah kandungan terperinci Membawa anda memahami jenis ralat dan tahap ralat PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!