PHP set_error_handler() 函数
示例
使用 set_error_handler() 函数设置用户定义的错误处理函数,并使用 trigger_error() 触发错误。
<?php
// 用户定义的错误处理函数
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>自定义错误:</b> [$errno] $errstr<br>";
echo " 错误发生在 $errfile 文件的 $errline 行<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 错误参考