Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah susunan pelaksanaan fungsi dalam pengendalian pengecualian PHP?

Apakah susunan pelaksanaan fungsi dalam pengendalian pengecualian PHP?

王林
王林asal
2024-04-17 15:54:011021semak imbas

Jujukan pelaksanaan fungsi pengendalian pengecualian PHP ialah: pembina objek pengecualian set_exception_handler() memanggil fungsi penutupan exit() memanggil

PHP 异常处理中的函数执行顺序如何?

Jujukan pelaksanaan fungsi PHP dalam pengendalian pengecualian

dalam PHP, apabila fungsi berikut berlaku akan dilaksanakan dalam susunan berikut:
  1. Pembina objek pengecualian:
  2. Objek pengecualian akan dibuat dan diserahkan kepada pembina.
  3. set_exception_handler() panggilan:
  4. Fungsi ini akan dipanggil jika pengendali pengecualian telah ditetapkan.
  5. fungsi penutupan:
  6. Semua fungsi dan pembolehubah yang didaftarkan akan dimusnahkan.
  7. exit() panggilan:
  8. Skrip akan keluar dengan kod status 1.

Kes praktikal:

<?php
try {
    throw new Exception('My Exception');
} catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage() . PHP_EOL;
} finally {
    echo 'Finally block executed' . PHP_EOL;
}
Jujukan pelaksanaan:

  1. Exception 构造函数。
  2. 调用 set_exception_handler() 处理程序,因为此处未设置,所以跳过此步骤。
  3. 所有已注册的函数和变量将被销毁。
  4. 脚本将退出,状态代码为 1。

输出:

Caught exception: My Exception
Finally block executed

值得注意的是,即使异常在 finallyBuat objek pengecualian dan hantarkannya kepada pembina Exception.

🎜Panggil pengendali set_exception_handler(), langkau langkah ini kerana ia tidak ditetapkan di sini. 🎜🎜Semua fungsi dan pembolehubah yang didaftarkan akan dimusnahkan. 🎜🎜Skrip akan keluar dengan kod status 1. 🎜🎜🎜🎜Output: 🎜🎜rrreee🎜Perlu diperhatikan bahawa walaupun pengecualian dilemparkan dalam blok akhirnya, ia tidak akan ditangkap. 🎜

Atas ialah kandungan terperinci Apakah susunan pelaksanaan fungsi dalam pengendalian pengecualian 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