PHP set_error_handler()函数
语法
mixed set_error_handler ( callback error_handler [, interror_types] );
定义和用法
这个函数可以用于在运行时定义自己处理错误的方式,例如在需要在关键错误发生时清理数据/文件的应用程序中,或者在需要在特定条件下触发错误时使用。
参数
序号 | 参数与描述 |
---|---|
1 | error_handler(必需) 它指定在错误时要运行的函数。error_handler的语法如下。 |
2 | error_types(可选) 它指定用户定义的错误将在哪些错误报告级别下显示。默认为”E_ALL”。请参见”PHP Error and Logging Constants:”以获取可能的错误报告级别。 |
错误处理函数语法
error_function(error_level,error_message, error_file,error_line,error_context);
下面是参数的描述:
- errno - 第一个参数errno是一个整数类型,包含了发生的错误级别。
-
errstr - 第二个参数errstr是一个字符串类型,包含了错误信息。
-
errfile - 第三个参数errfile是可选参数,是一个字符串类型,包含了发生错误的文件名。
-
errline - 第四个参数errline是可选参数,是一个整数类型,包含了发生错误的行号。
-
errcontext - 第五个参数errcontext是可选参数,是一个指向错误发生时活动符号表的数组。
返回值
返回一个包含之前定义的错误处理程序(如果有),或者返回NULL(发生错误)的字符串。
示例
以下是该函数的用法:
<?php
function customError(errno,errstr, errfile,errline) {
echo "Custom error: [errno]errstr\n";
echo "Error on line errline inerrfile\n";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
test = 0;
//trigger error
if (test > -1) {
trigger_error("A custom error has been triggered");
}
?>
这将产生以下结果−
Custom error: [1024] A custom error has been triggered Error on line 16
in /home/cg/root/1531703/main.php
Ending Script