/*
mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )
*/
function ErrorHandler($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno)) {
return;
}
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 "Program Exit!<br />\n";
exit(1);
break;
case E_USER_WARNING:
echo "WARNING: [$errno] $errstr<br />\n";
break;
case E_USER_NOTICE:
echo "NOTICE: [$errno] $errstr<br />\n";
break;
default:
echo "Error: [$errno] $errstr<br />\n";
break;
}
return true;
}
set_error_handler("ErrorHandler");
echo(12/0);
/*
run:
Error: [2] Division by zero
*/