Fungsi set_exception_handler
Fungsi set_exception_handler membolehkan anda menentukan fungsi yang akan dipanggil untuk menangani pengecualian yang tidak ditangkap. Nama fungsi pengendali atau fungsi tanpa nama dihantar sebagai parameter. Pengendali menerima objek pengecualian sebagai parameter.
Sintaks
set_exception_handler(callable $exception_handler): callable
Contoh
Mari tetapkan pengendali pengecualian mudah:
<?php
function myExceptionHandler($exception) {
echo 'Pengecualian ditangkap: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Something went wrong!');
?>
Hasil pelaksanaan kod:
'Pengecualian ditangkap: Something went wrong!'
Contoh
Menggunakan fungsi tanpa nama sebagai pengendali:
<?php
set_exception_handler(function($exception) {
echo 'Ralat: ' . $exception->getMessage();
});
throw new Exception('Critical error');
?>
Hasil pelaksanaan kod:
'Ralat: Critical error'
Contoh
Memulihkan pengendali sebelumnya:
<?php
function firstHandler($exception) {
echo 'Pengendali pertama: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Pengendali kedua: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Memulihkan firstHandler
throw new Exception('Test');
?>
Hasil pelaksanaan kod:
'Pengendali pertama: Test'