©
This document uses PHP Chinese website manual Release
(PHP 5, PHP 7)
restore_exception_handler — 恢复之前定义过的异常处理函数。
在使用 set_exception_handler() 改变异常处理函数之后,此函数可以 用于还原之前的异常处理程序(可以是内置的或者也可以是用户所定义的函数)。
该函数总是返回 TRUE
。
Example #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] rl7 at shinyblue dot net [2014-02-24 10:57:28]
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' );
?>