PHP set_exception_handler() 函数

实例

设置用户定义的异常处理函数:

  1. <?php
  2. // 用户定义的异常处理函数
  3. function myException($exception) {
  4. echo "<b>Exception:</b> ", $exception->getMessage();
  5. }
  6.  
  7. // 设置用户定义的异常处理函数
  8. set_exception_handler("myException");
  9.  
  10. // 抛出异常
  11. throw new Exception("Uncaught exception occurred!");
  12. ?>

以上代码的输出类似这样:

  1. Exception: Uncaught exception occurred!

定义和用法

set_exception_handler() 函数设置用户定义的异常处理函数。

脚本会在此异常处理程序被调用后停止执行。

语法

  1. 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 起返回之前的处理程序。