restore_exception_handler

(PHP 5, PHP 7, PHP 8)

restore_exception_handler恢复先前定义的异常处理函数

描述

restore_exception_handler(): true

在使用 set_exception_handler() 更改异常处理函数后使用,以恢复到先前的异常处理函数(可能是内置函数或用户定义函数)。

参数

此函数没有参数。

返回值

始终返回 true

示例

示例 #1 restore_exception_handler() 示例

<?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...');
?>

上面的示例将输出

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

参见

添加笔记

用户贡献笔记 1 个笔记

13
rl7 at shinyblue dot net
10 年前
请注意,这在异常处理程序中不起作用。

例如

<?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