restore_exception_handler

(PHP 5, PHP 7, PHP 8)

restore_exception_handler Restaura a função de manipulação de exceção anteriormente definida

Descrição

restore_exception_handler(): true

Usada após alteração da função de manipulação de exceção ao usar set_exception_handler(), para reverter ao manipulador de exceção anterior (que pode ser o integrado ou uma função definida pelo usuário).

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Sempre retorna true.

Exemplos

Exemplo #1 Exemplo restore_exception_handler()

<?php
function manipulador_excecao_1(Exception $e)
{
echo
'[' . __FUNCTION__ . '] ' . $e->getMessage();
}

function
manipulador_excecao_2(Exception $e)
{
echo
'[' . __FUNCTION__ . '] ' . $e->getMessage();
}

set_exception_handler('manipulador_excecao_1');
set_exception_handler('manipulador_excecao_2');

restore_exception_handler();

throw new
Exception('Isto dispara o primeiro manipulador de exceção...');
?>

O exemplo acima produzirá:

[manipulador_excecao_1] Isto dispara o primeiro manipulador de exceção...

Veja Também

add a note add a note

User Contributed Notes 1 note

up
10
rl7 at shinyblue dot net
10 years ago
Note that this does not work within an exception handler.

e.g.

<?php

function handler1(Exception $e) {
    echo
"handler1\n";
   
restore_exception_handler();
    throw
$e;
}
function
handler2(Exception $e) {
    echo
"handler2\n";
}

set_exception_handler( 'handler2' );
set_exception_handler( 'handler1' );

throw new
Exception( 'might expect to see handler1, handler2' );

/* Outputs:
handler1
PHP Fatal error:  Uncaught exception 'Exception' with message 'might expect to see handler1, handler2' in /tmp/demo.php:15
Stack trace:
#0 {main}
  thrown in /tmp/demo.php on line 15
*/

?>
To Top