set_error_handler 回调函数接受 2 个强制参数和 3 个可选参数。其中之一是 $errno (第一个)。
它有什么用?它是 E_ALL 还是 E_NOTICE .... 的整数表示?
set_error_handler 回调函数接受 2 个强制参数和 3 个可选参数。其中之一是 $errno (第一个)。
它有什么用?它是 E_ALL 还是 E_NOTICE .... 的整数表示?
从set_error_handler()
有关错误处理程序的文档中:
第一个参数errno包含引发的错误级别,作为一个整数。
它将是预定义的误差常数之一,例如E_USER_WARNING
,E_NOTICE
等。
$errno 包含引发错误的级别,作为整数。
我认为这个例子会说清楚(不是我的代码):
switch ($errno) {
case E_USER_ERROR:
echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
echo " Fatal error on line $errline in 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 "Unknown error type: [$errno] $errstr<br />\n";
break;
}