error_reporting(E_ALL);
function ErrHandler($errorno, $errorstr, $errorfile, $errorline)
{
$display = true;
$notify = false;
$halt_script = false;
$error_msg = "
The $errorno error is occurring at $errorline in
$errorfile
";
switch($errorno)
{
case E_USER_NOTICE:
case E_NOTICE:
$halt_script = false;
$notify = true;
$label = "Notice";
break;
case E_USER_WARNING:
case E_WARNING:
$halt_script = false;
$notify = true;
$label = "Warning";
break;
case E_USER_ERROR:
case E_ERROR:
$label = "Fatal Error";
$notify=true;
$halt_script = false;
break;
case E_PARSE:
$label = "Parse Error";
$notify=true;
$halt_script = true;
break;
default:
$label = "Unknown Error";
break;
}
if($notify)
{
$msg = $label . $error_msg;
echo $msg;
}
if($halt_script) exit -1;
}
$error_handler = set_error_handler("ErrHandler");
echo "
Using Custom Error Handler
";
trigger_error("
Error caused by E_USER_NOTICE", E_USER_NOTICE);
trigger_error("
Error caused by E_USER_WARNING", E_USER_WARNING);
trigger_error("
Error caused by E_USER_ERROR", E_USER_ERROR);
trigger_error("
Error caused by E_PARSE", E_PARSE);
?>