PHP 8.4.23 Released!

get_exception_handler

(PHP 8 >= 8.5.0)

get_exception_handler获取用户定义的异常处理函数

说明

function get_exception_handler(): ? callable

返回当前异常处理函数(如果存在)。

参数

此函数没有参数。

返回值

返回当前定义的异常处理程序(如果存在)。如果没有定义处理程序,则返回 null

返回的处理程序是传递给 set_exception_handler() 以定义它的精确可调用值。

示例

示例 #1 get_exception_handler() 示例

<?php
$handler = function (Throwable $ex) {
 echo "Exception: " . $ex::class . ": " . $ex->getMessage() . "\n";
};
var_dump(get_exception_handler()); // NULL
set_exception_handler($handler);
var_dump(get_exception_handler() === $handler); // bool(true)
?>

注释

小技巧

在 PHP 8.5.0 之前,以下 polyfill 可以提供此功能:

<?php
if (!function_exists('get_exception_handler')) {
 function noop_exception_handler() {
 }
 function get_exception_handler(): ?callable {
 $handler = set_exception_handler('noop_exception_handler');
 restore_exception_handler();
 return $handler;
 }
}
?>

参见

发现了问题?

了解如何改进此页面提交拉取请求报告一个错误
+添加备注

用户贡献的备注

此页面尚无用户贡献的备注。

AltStyle によって変換されたページ (->オリジナル) /