您的位置:首页 > 编程语言 > PHP开发

PHP异常处理函数set_exception_handler()的用法

2018-02-06 16:56 651 查看

定义和用法

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

该函数用于创建运行时期间的用户自己的异常处理方法。

该函数会返回旧的异常处理程序,若失败,则返回 null。

语法

set_exception_handler(exception_function)

参数描述
error_function必需。规定未捕获的异常发生时调用的函数。

该函数必须在调用 set_exception_handler() 函数之前定义。

这个异常处理函数需要需要一个参数,即抛出的 exception 对象。

提示和注释

提示:在这个异常处理程序被调用后,脚本会停止执行。

例子

<?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(“myException”) 不仅可以接受函数,还可以接受 类的方法(公开的静态方法 及 公开的非静态方法 都可以),但需要以数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”,如下代码所示:

<?php
class App{
function myException($exception) {
echo "<b>Exception:</b> " , $exception->getMessage();
}
}

set_exception_handler(array('App','myException'));

throw new Exception('Uncaught Exception occurred');
?>


技术细节

返回值:返回包含之前定义的异常处理程序的名称的字符串,或者在错误时返回 NULL。

如果之前没有定义一个错误处理程序,也会返回 NULL。

如果参数使用了 NULL,重置处理程序为默认状态,并且会返回一个 TRUE。

PHP 版本:5.0+
PHP 更新日志:PHP 7.0.0:传递到 exception_handler 中的参数类型从 Exception 更改为 Throwable。

PHP 5.5:之前,如果传递 NULL,该函数返回 TRUE。从 PHP 5.5 起返回之前的处理程序。

PHP异常处理函数set_exception_handler()的用法


PHP set_exception_handler() 函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息