您当前的位置: 首页 > 网站编程 > PHP教程 > PHP中自定义错误处理

PHP中自定义错误处理

作者:不详 来源:网络 发布时间: 2011-09-03 21:49 点击:
set_error_handler() 函数设置用户自定义的错误处理函数。 该函数用于创建运行时期间的用户自己的错误处理方法。 该函数会返回旧的错误处理程序,若失败,则返回 null。 语法 set_error_handler(error_function,error_types) 参数 描述 error_function 必需。规定发生

PHP中自定义错误处理

set_error_handler() 函数设置用户自定义的错误处理函数。

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

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

语法

set_error_handler(error_function,error_types)

参数 描述
error_function 必需。规定发生错误时运行的函数。
error_types 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。

提示和注释

提示:如果使用了该函数,会完全绕过标准的 PHP 错误处理函数,如果必要,用户定义的错误处理程序必须终止 (die() ) 脚本。

注释:如果在脚本执行前发生错误,由于在那时自定义程序还没有注册,因此就不会用到这个自定义错误处理程序。

1.测试一
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
switch ($errno) {
case E_USER_ERROR:
echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
echo " Fatal error in line $errline of file $errfile";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;
case E_USER_WARNING:
echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
break;
case E_USER_NOTICE:
echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
break;
default:
echo "Unkown error type: [$errno] $errstr<br />\n";
break;
}
}

set_error_handler("myErrorHandler");
function testArgs2($a) {
if (func_num_args() != 1) {
trigger_error("Missing parameter \$a", E_USER_ERROR);
}


echo $a;
}
testArgs2();

输出如下:
Unkown error type: [2] Missing argument 1 for testArgs2(), called in E:\myphp\research\test2.php on line 223 and defined
My ERROR [256] Missing argument $a
Fatal error in line 217 of file E:\myphp\research\test2.php, PHP 5.2.8 (WINNT)
Aborting...

2.测试二
function testArgs2($a) {
if (func_num_args() != 1) {
trigger_error("Missing argument \$a", E_USER_ERROR);
}


echo $a;
}
testArgs2();

输出如下:
Warning: Missing argument 1 for testArgs2(), called in E:\myphp\research\test2.php on line 223 and defined in E:\myphp\research\test2.php on line 215

Fatal error: Missing argument $a in E:\myphp\research\test2.php on line 217

 

分享到:
本文"PHP中自定义错误处理"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4