PHP.mk документација

restore_exception_handler

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.restore-exception-handler.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.restore-exception-handler.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
restore_exception_handler

Референца за `function.restore-exception-handler.php` со подобрена типографија и навигација.

function.restore-exception-handler.php

restore_exception_handler

класата mysqli_driver

restore_exception_handler (PHP 5, PHP 7, PHP 8)

= NULL

function restore_exception_handler(): true

Ја враќа претходно дефинираната функција за ракување со исклучоци set_exception_handler()Се користи по промена на функцијата за ракување со исклучоци со користење на

Забелешка:

While an exception handler is running, no exception handler is active: as of PHP 8.3.0 the engine unsets it before invoking it, so that an exception thrown by the handler is not passed back to it.

As of PHP 8.3.5 the engine also pushes the handler it is about to invoke onto the handler stack. A restore_exception_handler() call made from within an exception handler therefore pops that entry and re-installs the handler that is currently running; a second call is needed to install the handler that was active before it.

The running handler is re-installed automatically when it returns, but only if no exception handler is active at that point: a handler that calls set_exception_handler() or restore_exception_handler() is left in charge of the handler stack itself.

Параметри

Оваа функција нема параметри.

Вратени вредности

Секогаш враќа true.

Дневник на промени

Верзија = NULL
8.3.5 The exception handler being invoked is now pushed onto the handler stack, so restore_exception_handler() called from within an exception handler re-installs the handler that is currently running; restoring the handler that was active before it now requires two calls.
8.3.0 The active exception handler is now unset while it runs.

Примери

Пример #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...');
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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

Види Исто така

  • set_exception_handler() , за да се вратите на претходниот ракувач со исклучоци (што може да биде вграден или кориснички дефиниран).
  • get_exception_handler() - Добива кориснички дефинирана функција за ракување со исклучоци
  • set_error_handler() - Поставува кориснички дефинирана функција за ракување со грешки
  • restore_error_handler() - Враќа претходен ракувач со грешки
  • error_reporting() - Поставува кои PHP грешки се пријавуваат

Белешки од корисници 1 белешка

- Поставува кориснички дефинирана функција за ракување со исклучоци
12 години пред
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
*/

?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.