Función set_exception_handler
La función set_exception_handler permite definir una función que será llamada para manejar excepciones no capturadas. El parámetro recibe el nombre de la función manejadora o una función anónima. El manejador recibe el objeto de excepción como parámetro.
Sintaxis
set_exception_handler(callable $exception_handler): callable
Ejemplo
Establezcamos un manejador de excepciones simple:
<?php
function myExceptionHandler($exception) {
echo 'Excepción capturada: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('¡Algo salió mal!');
?>
Resultado de la ejecución del código:
'Excepción capturada: ¡Algo salió mal!'
Ejemplo
Uso de una función anónima como manejador:
<?php
set_exception_handler(function($exception) {
echo 'Error: ' . $exception->getMessage();
});
throw new Exception('Error crítico');
?>
Resultado de la ejecución del código:
'Error: Error crítico'
Ejemplo
Restauración del manejador anterior:
<?php
function firstHandler($exception) {
echo 'Primer manejador: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Segundo manejador: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Restaura firstHandler
throw new Exception('Prueba');
?>
Resultado de la ejecución del código:
'Primer manejador: Prueba'