restore_exception_handler

(PHP 5, PHP 7, PHP 8)

restore_exception_handler Réactive l'ancienne fonction de gestion d'exceptions

Description

restore_exception_handler(): bool

restore_exception_handler() est utilisé, après le changement de la fonction de gestion d'exceptions avec la fonction set_exception_handler(), pour revenir à l'ancien gestionnaire d'exceptions (qui peut être la fonction interne ou une fonction définie par l'utilisateur).

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne toujours true.

Exemples

Exemple #1 Exemple avec 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('Ceci utilise le premier gestionnaire d\'exception...');
?>

L'exemple ci-dessus va afficher :

[exception_handler_1] Ceci utilise le premier gestionnaire d'exception...

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
9
rl7 at shinyblue dot net
10 years ago
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
*/

?>
To Top