Sebelum versi 7, penghurai PHP digunakan untuk melaporkan ralat sebagai tindak balas kepada pelbagai syarat. Setiap ralat digunakan untuk jenis yang dipratentukan khusus. PHP7 mengubah mekanisme pelaporan ralat. Kini, kebanyakan ralat dilaporkan dengan membuang pengecualian ralat dan bukannya pelaporan ralat tradisional.
Jika pengecualian ralat tidak dikendalikan, ralat maut akan dilaporkan dan akan dikendalikan seperti keadaan ralat tradisional. Hierarki ralat PHP bermula dengan antara mukaThrowable. Semua ralat pratakrif sepertiArithmeticError,AssertionError,CompileErrordanTypeErrorialah kelas yang melaksanakan Throwable iterface. Pengecualian dalam PHP 7 juga melaksanakan antara muka Boleh Lempar. Antara muka
Throwable berfungsi sebagai asas untuk mana-mana objek yang boleh dilemparkan melalui pernyataan lontaran, termasukRalatdanPengecualian> objek. Kelas yang ditentukan pengguna tidak boleh melaksanakan antara muka Boleh Lempar secara langsung. Sebaliknya, untuk mengisytiharkan kelas pengecualian yang ditentukan pengguna, ia mesti melanjutkan kelasPengecualian.
Pengendalian pengecualian PHP terdiri daripadabuangdantangkap. kuat>,cubakenyataan. Untuk melontar objek pengecualian, anda perlu menggunakan kata kuncithrow. Pengecualian yang dilemparkan dikendalikan oleh blokcatch. Kod PHP yang berpotensi terdedah terkandung dalam blokcuba.
Mungkin terdapat satu atau lebih blok tangkapan untuk menangkap contoh kelas Exception yang berbeza. Apabila tiada pengecualian berlaku dalam blok cuba, pelaksanaan biasa akan diteruskan selepas blok tangkapan terakhir. Walau bagaimanapun, apabila pengecualian dilemparkan dalam blok percubaan, PHP cuba mencari blok tangkapan yang sepadan dengan jenis pengecualian yang akan dikendalikan, dan bukannya melaksanakan pernyataan bersarang. Jika tiada blok tangkapan sepadan ditentukan, penghurai PHP akan melaporkanralat mautdengan mesejpengecualian tidak ditangkap.
Anda juga boleh menyediakanakhirnyakuat> selepas atau sebagai ganti blok tangkapan. Tidak kira sama ada pengecualian berlaku dalam blok cuba, kod dalam blok akhirnya akan dilaksanakan.
Atas ialah kandungan terperinci Ralat PHP dalam PHP7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!