PHP 错误处理函数

PHP set_exception_handler() 函数设置用户定义的异常处理函数。调用异常处理程序后,脚本将停止执行。

语法

set_exception_handler(callback) 

参数

callback

必填。 指定发生未捕获异常时要调用的函数名称。

该处理函数需要一个参数,该参数是抛出的异常对象。在 PHP 7 之前,该处理函数的语法为:

handler(Exception $ex): void 

自 PHP 7 以来,大多数错误都是通过抛出 Error 异常来报告的,该异常也会被处理程序捕获。 Error 和 Exception 都实现了 Throwable 接口。从 PHP 7 开始,该处理函数的语法为:

handler(Throwable $ex): void 

可以传递 NULL 将此处理函数重置为其默认状态。

返回值

返回先前定义的异常处理程序,或出现错误时返回 null。如果之前没有定义处理程序,也会返回 null。

示例:set_exception_handler() 示例

下面的示例显示了 set_exception_handler() 函数的用法.

<?php
//两个用户自定义的异常处理函数
function myException($e) {
  echo "Exception: ".$e->getMessage();
}

//设置用户定义的异常处理函数
set_exception_handler("myException");

//抛出异常
throw new Exception("Uncaught exception occurred!");
echo "This will not be executed.\n";
?> 

上述代码的输出将是:

Exception: Uncaught exception occurred!