Dalam versi PHP sebelumnya, jika kita ingin menangkap pengecualian, maka kita perlu menyimpannya dalam pembolehubah untuk menyemak sama ada pembolehubah itu digunakan.
Sebelum PHP 8, untuk mengendalikan blok penangkapan pengecualian, kami perlu menangkap pengecualian (dilemparkan oleh blok cuba) ke dalam pembolehubah.
<?php function foo() { try{ throw new Exception('Hello'); } catch (Exception $e) { return $e->getMessage(); } } ?>
Penjelasan − Dalam program di atas, pengecualian ditangkap oleh blok tangkapan kepada pembolehubah $e. Kini pembolehubah $e boleh menyimpan sebarang maklumat tentang pengecualian, seperti kod, mesej, dsb.
PHP 8 memperkenalkan tangkapan bukan tangkapan. Ia kini mungkin untuk menangkap pengecualian tanpa menangkapnya dalam pembolehubah. Kita boleh mengabaikan pembolehubah ini buat masa ini.
<?php try{ throw new Exception('hello'); } catch (Exception) { // $e variable omitted } ?>
Nota: Dalam program di atas, kami tidak menggunakan pembolehubah $e untuk menyimpan maklumat pengecualian.
Atas ialah kandungan terperinci Bagaimanakah penangkapan pengecualian yang tidak ditangkap berfungsi dalam PHP 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!