Exception
Exception
Jika pengecualian dilemparkan dan cakupan fungsinya saat ini tidak memiliki catch blok,
pengecualian akan "menggelembungkan" tumpukan panggilan ke fungsi panggilan hingga
menemukan catchblok yang cocok . Semua finallyblok yang ditemuinya di sepanjang jalan
akan dieksekusi. Jika tumpukan panggilan dibatalkan sepenuhnya ke lingkup global tanpa
menemui catchblok yang cocok , program akan berakhir dengan kesalahan fatal kecuali jika
penangan pengecualian global telah ditetapkan.
Pada PHP 8.0.0, throwkata kunci adalah ekspresi dan dapat digunakan dalam konteks
ekspresi apa pun. Dalam versi sebelumnya itu adalah pernyataan dan harus berada di jalurnya
sendiri.
catch
Ketika pengecualian dilemparkan, kode yang mengikuti pernyataan tidak akan dieksekusi,
dan PHP akan mencoba menemukan catchblok pertama yang cocok . Jika pengecualian tidak
tertangkap, PHP Fatal Error akan diberikan dengan pesan " Uncaught Exception ...", kecuali
jika handler telah didefinisikan dengan set_exception_handler() .
finally
Jika pengecualian diizinkan untuk menggelembung ke lingkup global, itu mungkin ditangkap
oleh penangan pengecualian global jika disetel. Fungsi set_exception_handler() dapat
mengatur fungsi yang akan dipanggil menggantikan catchblok jika tidak ada blok lain yang
dipanggil. Efeknya pada dasarnya sama seperti jika seluruh program dibungkus
dalam blok try- catchblok dengan fungsi tersebut sebagai file catch.
Catatan :