PHP set_exception_handler() 函数

实例

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

<?php
// 用户定义的异常处理函数
 function myException($exception) {
     echo "<b>Exception:</b> ", $exception->getMessage();
 }

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

// 抛出异常
throw new Exception("Uncaught exception occurred!");
 ?> 

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

Exception: Uncaught exception occurred!

定义和用法

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

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

语法

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