« error_reporting
get_exception_handler »

get_error_handler

(PHP 8 >= 8.5.0)

get_error_handler — ユーザー定義のエラーハンドラ関数を取得する

説明

function get_error_handler(): ?callable

存在する場合に、現在のエラーハンドラ関数を返します。

パラメータ

この関数にはパラメータはありません。

戻り値

(もしあれば)現在定義済みのエラーハンドラを返します。 組み込みのエラーハンドラを使っている場合は、null を返します。

返されたエラーハンドラは、 set_error_handler() に渡された callable そのものです。

例

例1 get_error_handler() の例

<?php

$handler = function (int $errno, string $errstr, ?string $errfile, ?int $errline) {
     echo "Error: " . $errstr . "\n";
};

var_dump(get_error_handler()); // NULL

set_error_handler($handler);

var_dump(get_error_handler() === $handler); // bool(true)

?>

注意

ヒント

PHP 8.5.0 より前のバージョンでは、 この関数の機能は以下のような polyfill で提供できます:

<?php
if (!function_exists('get_error_handler')) {
    function noop_error_handler() {
    }
    function get_error_handler(): ?callable {
        $handler = set_error_handler('noop_error_handler');
        restore_error_handler();
        return $handler;
    }
}
?>

参考

関連キーワード:
handler   ハンドラ   callable   reporting   errstr   dump   noop   restore   レベル   exception   組み込み   errno   errline   ヒント   polyfill   提供   exists   return   参考   種類   回復   trigger   通知   メッセージ   定数
関連する関数・ページ:
function.get-exception-handler   function.restore-error-handler   function.xml-set-default-handler   ref.errorfunc   function.xml-set-character-data-handler   function.set-exception-handler