PHP set_error_handler() 函数
示例
使用 set_error_handler() 函数设置用户自定义错误处理程序,并触发错误(使用 trigger_error())
<?php
// 用户自定义错误处理程序
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>自定义错误:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// 设置用户自定义错误处理程序
set_error_handler("myErrorHandler");
$test=2;
// 触发错误
if ($test>1) {
trigger_error("已触发自定义错误");
}
?>
自己动手试一试 »
定义和用法
set_error_handler() 函数设置一个用户自定义的错误处理程序。
注意: 如果使用了此函数,标准的 PHP 错误处理程序将被完全绕过,用户自定义的错误处理程序必须终止脚本,必要时使用 die()。
注意: 如果在脚本执行前发生错误,则无法使用自定义错误处理程序,因为它当时尚未注册。
语法
set_error_handler(errorhandler, E_ALL | E_STRICT)
参数值
参数 | 描述 |
---|---|
errorhandler | 必需。指定发生错误时要运行的函数名称。 |
E_ALL|E_STRICT | 可选。指定用户自定义错误将在哪个错误报告级别显示。默认为 "E_ALL" |
技术详情
返回值 | 包含先前定义的错误处理程序的字符串。 |
---|---|
PHP 版本 | 4.0.1+ |
PHP 更新日志 | PHP 5.5: 参数 errorhandler 现在接受 NULL。 PHP 5.2: 错误处理程序必须返回 FALSE 才能填充 $php_errormsg。 |
PHP 错误参考