A set_exception_handler függvény
A set_exception_handler függvény lehetővé teszi annak a függvénynek a meghatározását, amely a nem elkapott kivételek kezelésére lesz meghívva. A paraméterben egy kezelő függvény neve vagy egy anonim függvény adható át. A kezelő a kivétel objektumot kapja paraméterként.
Szintaxis
set_exception_handler(callable $exception_handler): callable
Példa
Állítsunk be egy egyszerű kivételkezelőt:
<?php
function myExceptionHandler($exception) {
echo 'Elkaptott kivétel: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Valami elromlott!');
?>
A kód végrehajtásának eredménye:
'Elkaptott kivétel: Valami elromlott!'
Példa
Anonim függvény használata kezelőként:
<?php
set_exception_handler(function($exception) {
echo 'Hiba: ' . $exception->getMessage();
});
throw new Exception('Kritikus hiba');
?>
A kód végrehajtásának eredménye:
'Hiba: Kritikus hiba'
Példa
Az előző kezelő visszaállítása:
<?php
function firstHandler($exception) {
echo 'Első kezelő: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Második kezelő: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Visszaállítja az firstHandler-t
throw new Exception('Teszt');
?>
A kód végrehajtásának eredménye:
'Első kezelő: Teszt'