PHP set_error_handler() 函数
实例
通过 set_error_handler() 函数设置用户自定义的错误处理程序,然后触发错误(通过 trigger_error()):
<?php
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
亲自试一试 »
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
定义和用法
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 Error 错误参考手册