Jenis ralat biasa dalam PHP ialah: 1. Jenis ralat parse, menunjukkan ralat penghuraian atau ralat sintaks 2. Jenis ralat fatal, menunjukkan ralat maut; 4. Jenis notis; perhatian kepada ralat; 5. Jenis yang tidak digunakan, menunjukkan ralat tahap terendah.
Sistem pengendalian untuk tutorial ini: Sistem Windows 10, PHP versi 8.1, komputer Dell G3.
1. Jenis ralat PHP
Tahap ralat PHP
Ralat Penghuraian >
1. Ralat penghuraian atau ralat sintaks (Ralat penghuraian)
Ralat sintaks ialah ralat yang paling biasa dalam pengaturcaraan dan paling mudah untuk diselesaikan, seperti kehilangan titik Mesej ralat akan dipaparkan apabila nombor dicapai. Ralat ini menghentikan pelaksanaan program dan memaparkan mesej ralat. Kami boleh membetulkan atur cara berdasarkan mesej ralat dan melaksanakannya semula. 【Contoh】Yang berikut menunjukkan ralat sintaks biasa dan mesej ralat yang berkaitan melalui kod ringkas.<?php $a = 1; $b = 2; $c = $a + $b echo ; ?>; ditinggalkan pada penghujung baris 4 dalam kod di atas, jadi menjalankan kod di atas akan memaparkan mesej ralat berikut:
Parse error: syntax error, unexpected 'echo' (T_ECHO) in D:\WWW\index.php on line 5Seperti yang dapat dilihat dari contoh di atas dan menjalankan hasil , ralat sintaks akan menghalang program daripada terus dilaksanakan. Hanya selepas ralat ini diselesaikan, program boleh dilaksanakan dengan lancar.
2. Ralat maut:
Ini ialah jenis ralat di mana pengkompil PHP memahami kod PHP tetapi ia mengenal pasti fungsi yang tidak diisytiharkan. Ini bermakna memanggil fungsi tanpa definisi fungsi. Atur cara melaporkan ralat secara langsung dan kod perlu diubah suai! ! ! Untuk mengganggu pelaksanaan program, anda boleh menggunakan fungsi register_shutdown_function() untuk mencetuskan fungsi sebelum atur cara ditamatkan, seperti<?php function add($x, $y) { $sum = $x + $y; echo "sum = " . $sum; } $x = 0; $y = 20; add($x, $y); diff($x, $y); ?>
3 Amaran:
Tiada ralat sintaks dalam atur cara, tetapi semasa pelaksanaan, PHP akan menemui beberapa aspek program yang tidak munasabah, oleh itu Mesej amaran akan muncul, tetapi program akan terus dilaksanakan. Contoh: Menggunakan 0 sebagai pembahagi akan menyebabkan atur cara berjalan dengan tidak betul dan mengeluarkan mesej ralat.<?php $a = 1; $b = 0; $c = $a / $b; echo "$a / $b = $c"; ?>Ralat:
4. Notis:
Ia serupa dengan Ralat amaran, yang bermaksud bahawa program mengandungi ralat, tetapi ia membenarkan pelaksanaan skrip. Ia akan berlaku apabila menggunakan beberapa pembolehubah yang tidak ditentukan, pemalar atau kekunci tatasusunan tanpa petikan dan program terus melaksanakan<?php header("content-type:text/html;charset=utf-8"); $x = "PHP中文网"; echo $x; echo $y; ?>Penjelasan: Program ini menggunakan pembolehubah tidak diisytiharkan $y, jadi ia memberikan mesej ralat .
5. Ralat tahap terendah (Ditamatkan, tidak disyorkan, tidak disyorkan)
Akan berlaku apabila menggunakan beberapa fungsi yang telah tamat tempoh dan program akan terus dilaksanakan.2. PHP konfigurasi salah
Selain menetapkannya dalam skrip, anda juga boleh mengkonfigurasinya dalam fail konfigurasi php.inierror_reporting = E_ALL&~E_NOTICE; //设置错误报告级别 display_errors = 1; //开发环境开启,生产环境关闭
3. Pengecualian PHP
Pengecualian PHP ialah ciri baharu PHP5 Berbeza daripada pengecualian JAVA/C#, pengecualian PHP perlu dibuang secara manual dengan membuang Pengecualian baharu dan bukannya dilemparkan. secara automatik oleh sistem. Perbezaan antara ralat PHP dan pengecualian Ia adalah dua konsep yang berbeza, tetapi ia mempunyai persamaan: Jika pengecualian tidak ditangkap dan dikendalikan, program akan menamatkan dan melaporkan Fatal. Ralat, apabila anda melihat ini, semua orang akan tertanya-tanya sama ada anomali ini adalah ilusi, tetapi ia boleh difahami dengan cara ini. Walau bagaimanapun, program boleh terus dilaksanakan selepas pengecualian ditangkap, tetapi program mesti ditamatkan selepas Ralat Fatal sebenar berlaku. Pengecualian boleh ditangkap menggunakan, dan kod seterusnya boleh terus dilaksanakan selepas ralat tidak boleh ditangkap menggunakan try{}catch(){}
. try{}catch(){}
4. Pengecualian dan ralat PHP dilemparkan
Balingan pengecualian:throw new Exception(‘Some Error Message’);
trigger_error();
Ralat yang dicetuskan tidak akan ditangkap oleh kenyataan tangkapan pengecualian cuba-tangkaptrigger_error()
5 Pengendalian ralat PHP
set_error_handler()hanya boleh mengendalikan Dihentikan, Terdapat tiga peringkat. ralat: Notis dan Pusing, dan selepas pemprosesan, skrip akan terus melaksanakan baris seterusnya di mana ralat berlaku.
register_shutdown_function()Kaedah ini ialah fungsi panggil balik terakhir sebelum penghujung skrip, jadi sama ada ia die()/error (exception)/atau skrip berakhir seperti biasa, ia akan dipanggil
6. Pengendalian pengecualian PHP
set_exception_handler()Tetapkan pengendali pengecualian lalai Jika terdapat tangkapan cuba/tangkap, fungsi ini tidak akan dilaksanakan, jika tidak, ia akan dilaksanakan. dan jika dilaksanakan, skrip tidak akan terus dilaksanakan Dalam baris terakhir kod di mana pengecualian berlaku, program akan ditamatkan serta-merta
Notaset_exception_handler()
set_exception_handler(“myException”)
不仅可以接受函数名,还可以接受类的方法(公开的静态方法 及 公开的非静态方法 都可以),但需要以 数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”,如下代码所示:
<?php class App{ function myException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } } set_exception_handler(array('App','myException')); throw new Exception('Uncaught Exception occurred'); ?>
七、PHP7 异常处理的大变化
在PHP7之前,Deprecated、Notice、Waning这类错误是可以捕获的(使用set_error_handler()
函数),而Fatel Error无法捕获的。
在PHP7之后,出现了一个异常与错误通用的接口Throwable,Exception类与Error类都实现了该接口,导致Error类或Error类的派生类的错误对象(大部分Fatel Error,而之前三类错误不变)也可以像Exception一样被捕获(2种捕获方法:1、try/catch 2、set_exception_handler())。
Atas ialah kandungan terperinci Apakah jenis ralat biasa dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini