PHP set_exception_handler() 函数设置用户定义的异常处理函数。调用异常处理程序后,脚本将停止执行。
语法
set_exception_handler(callback)
参数
callback |
该处理函数需要一个参数,该参数是抛出的异常对象。在 PHP 7 之前,该处理函数的语法为:
自 PHP 7 以来,大多数错误都是通过抛出 Error 异常来报告的,该异常也会被处理程序捕获。 Error 和 Exception 都实现了 Throwable 接口。从 PHP 7 开始,该处理函数的语法为:
可以传递 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!