Funkcija set_exception_handler
Funkcija set_exception_handler omogoča določitev funkcije, ki bo poklicana za obdelavo neujetih izjem. Parameter prejme ime funkcije upravljavca ali anonimno funkcijo. Upravljavec prejme objekt izjeme kot parameter.
Sintaksa
set_exception_handler(callable $exception_handler): callable
Primer
Nastavimo preprost upravljavec izjem:
<?php
function myExceptionHandler($exception) {
echo 'Ujeta izjema: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Nekaj je šlo narobe!');
?>
Rezultat izvajanja kode:
'Ujeta izjema: Nekaj je šlo narobe!'
Primer
Uporaba anonimne funkcije kot upravljavca:
<?php
set_exception_handler(function($exception) {
echo 'Napaka: ' . $exception->getMessage();
});
throw new Exception('Kritična napaka');
?>
Rezultat izvajanja kode:
'Napaka: Kritična napaka'
Primer
Obnovitev prejšnjega upravljavca:
<?php
function firstHandler($exception) {
echo 'Prvi upravljavec: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Drugi upravljavec: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Obnovi firstHandler
throw new Exception('Test');
?>
Rezultat izvajanja kode:
'Prvi upravljavec: Test'