文字

restore_exception_handler

(PHP 5, PHP 7)

restore_exception_handler 恢复之前定义过的异常处理函数。

说明

bool restore_exception_handler ( void )

在使用 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...

参见

  • set_exception_handler() - 设置一个用户定义的异常处理函数。
  • set_error_handler() - 设置一个用户定义的错误处理函数
  • restore_error_handler() - 还原之前的错误处理函数
  • error_reporting() - 设置应该报告何种 PHP 错误

用户评论:

[#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' );



?>

上一篇: 下一篇: