restore_exception_handler
(PHP 5, PHP 7, PHP 8)
restore_exception_handler — 以前の例外ハンドラ関数を回復する
説明
restore_exception_handler(): true
set_exception_handler() を使用して例外ハンドラ関数を 変更した後、元の例外ハンドラ(組込またはユーザー定義関数)に戻すために 使用されます。
パラメータ
この関数にはパラメータはありません。
戻り値
常に true
を返します。
例
例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 エラーの種類を設定する
+add a note
User Contributed Notes 1 note
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
*/
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google