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');
?>
以上就是php set_exception_handler()函数的用法的详细内容。
