php.net

(PHP 5, PHP 7, PHP 8)

restore_exception_handler Restores the previously defined exception handler function

Description

function restore_exception_handler(): true

Parameters

This function has no parameters.

Return Values

Always returns true.

Examples

Example #1 restore_exception_handler() example

<?php
    function exception_handler_1(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }
    function exception_handler_2(Exception $e)
    {
        echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
    }
    set_exception_handler('exception_handler_1');
    set_exception_handler('exception_handler_2');
    restore_exception_handler();
    throw new Exception('This triggers the first exception handler...');
?>

The above example will output:

[exception_handler_1] This triggers the first exception handler...

See Also

13

rl7 at shinyblue dot net

12 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
*/
?>

Read the original on php.net ↗