Função set_exception_handler
A função set_exception_handler permite definir uma função que será chamada para tratar exceções não capturadas. O parâmetro recebe o nome da função manipuladora ou uma função anônima. O manipulador recebe o objeto de exceção como parâmetro.
Sintaxe
set_exception_handler(callable $exception_handler): callable
Exemplo
Vamos definir um manipulador de exceções simples:
<?php
function myExceptionHandler($exception) {
echo 'Exceção capturada: ' . $exception->getMessage();
}
set_exception_handler('myExceptionHandler');
throw new Exception('Algo deu errado!');
?>
Resultado da execução do código:
'Exceção capturada: Algo deu errado!'
Exemplo
Uso de função anônima como manipulador:
<?php
set_exception_handler(function($exception) {
echo 'Erro: ' . $exception->getMessage();
});
throw new Exception('Erro crítico');
?>
Resultado da execução do código:
'Erro: Erro crítico'
Exemplo
Restauração do manipulador anterior:
<?php
function firstHandler($exception) {
echo 'Primeiro manipulador: ' . $exception->getMessage();
}
function secondHandler($exception) {
echo 'Segundo manipulador: ' . $exception->getMessage();
}
set_exception_handler('firstHandler');
$old_handler = set_exception_handler('secondHandler');
restore_exception_handler(); // Restaura firstHandler
throw new Exception('Teste');
?>
Resultado da execução do código:
'Primeiro manipulador: Teste'