我正在尝试为 php 编写一个错误处理程序类。我已经测试过该对象已经创建,但它似乎没有处理错误。
我最初在索引文件的函数中使用了相同的代码,它工作得很好,但我宁愿有一个类。为什么这不处理错误?
class class_error
{
public function __construct()
{
// set to the user defined error handler
set_error_handler($this->errorHandler());
}
public function errorHandler($errno, $errstr, $errfile, $errline)
{
//don't display error if no error number
if (!(error_reporting() & $errno)) {
return;
}
//display errors according to the error number
switch ($errno)
{
case E_USER_ERROR:
echo "<b>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>WARNING</b> [$errno] $errstr<br />\n";
break;
case E_USER_NOTICE:
echo "<b>NOTICE</b> [$errno] $errstr<br />\n";
break;
default:
echo "<b>UNKNOWN ERROR</b> [$errno] $errstr<br />\n";
break;
}
//don't execute PHP internal error handler
return true;
}
}