php中使用自定义错误处理
<?php error_reporting(E_ALL); function ErrHandler($errorno, $errorstr, $errorfile, $errorline) { $display = true; $notify = false; $halt_script = false; $error_msg = "<br>The $errorno error is occurring at $errorline in $errorfile<br>"; switch($errorno) { case E_USER_NOTICE: case E_NOTICE: $halt_script = false; $notify = true; $label = "<B>Notice</B>"; break; case E_USER_WARNING: case E_WARNING: $halt_script = false; $notify = true; $label = "<b>Warning</b>"; break; case E_USER_ERROR: case E_ERROR: $label = "<b>Fatal Error</b>"; $notify=true; $halt_script = false; break; case E_PARSE: $label = "<b>Parse Error</b>"; $notify=true; $halt_script = true; break; default: $label = "<b>Unknown Error</b>"; break; } if($notify) { $msg = $label . $error_msg; echo $msg; } if($halt_script) exit -1; } $error_handler = set_error_handler("ErrHandler"); echo "<BR><H2>Using Custom Error Handler</h2><BR>"; trigger_error("<BR>Error caused by E_USER_NOTICE</BR>", E_USER_NOTICE); trigger_error("<BR>Error caused by E_USER_WARNING</BR>", E_USER_WARNING); trigger_error("<BR>Error caused by E_USER_ERROR</BR>", E_USER_ERROR); trigger_error("<BR>Error caused by E_PARSE</BR>", E_PARSE); ?>