• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • restore_exception_handler()

    (PHP 5, PHP 7)

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

    说明

    restore_exception_handler(void): bool

    在使用set_exception_handler()改变异常处理函数之后,此函数可以用于还原之前的异常处理程序(可以是内置的或者也可以是用户所定义的函数)。

    返回值

    该函数总是返回TRUE

    范例

    Example #1restore_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...
    

    参见

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