cari
Rumahpembangunan bahagian belakangmasalah PHPApakah jenis ralat biasa dalam php

Apakah jenis ralat biasa dalam php

Apr 24, 2023 pm 04:10 PM
jenis ralat php

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.

Apakah jenis ralat biasa dalam php

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 &#39;echo&#39; (T_ECHO) in D:\WWW\index.php on line 5
Seperti 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); 
?>

Apakah jenis ralat biasa dalam php

Penjelasan: Dalam baris 10, fungsi diff( ), tetapi fungsi diff() tidak ditakrifkan, jadi ia memberikan ralat.

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:

Apakah jenis ralat biasa dalam php

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.ini

error_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(){}

Jika pengecualian dilemparkan, ia mesti ditangkap, jika tidak, program akan menamatkan pelaksanaan.

4. Pengecualian dan ralat PHP dilemparkan

Balingan pengecualian:

throw new Exception(‘Some Error Message’);

Balingan ralat:

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(&#39;App&#39;,&#39;myException&#39;));
 
throw new Exception(&#39;Uncaught Exception occurred&#39;);
?>

七、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!

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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

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

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

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.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

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.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

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

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

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

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

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.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

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.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

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

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

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

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini