PHP set_exception_handler() 関数

ユーザー定義の例外処理関数を設定します:

<?php
// ユーザー定義の例外処理関数
 function myException($exception) {
     echo "<b>例外:</b> ", $exception->getMessage();
 }
 // ユーザー定義の例外ハンドラ関数を設定します
 set_exception_handler("myException");
// 例外を投げます
throw new Exception("Uncaught exception occurred!");
 ?> 

上記のコードの出力は以下のようになります:

Exception: Uncaught exception occurred!

定義と使用方法

set_exception_handler() 関数はユーザー定義の例外ハンドラ関数を設定します。

スクリプトはこの例外ハンドラが呼び出された後に実行を停止します。

構文

set_exception_handler(exceptionhandler);
パラメータ 説明
exceptionhandler

必須。未捕獲の例外が発生した場合に呼び出される関数の名前を指定します。

注釈:NULL 値を渡すことで、デフォルトのエラーハンドラ関数をリセットすることもできます。

技術的詳細

返り値:

以前に定義されたエラーハンドラの名前を含む文字列を返し、エラーの場合 NULL を返します。

エラーハンドラが前もって定義されていない場合も NULL を返します。

NULL がパラメータとして使用された場合、ハンドラをデフォルト状態にリセットし、TRUE を返します。

PHP バージョン: 5.0+
PHP 更新ログ:

PHP 7.0.0:渡されます exception_handler のパラメータのタイプが Exception から Throwable に変更されました。

PHP 5.5 以前、NULL を渡すとこの関数は TRUE を返します。PHP 5.5 以降は前のハンドラを返します。