php自定義錯誤處理用法實(shí)例

字號:


    這篇文章主要介紹了php自定義錯誤處理用法,實(shí)例分析了php通過自定義函數(shù)進(jìn)行錯誤處理的技巧,需要的朋友可以參考下
    本文實(shí)例講述了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);
    ?>
    希望本文所述對大家的php程序設(shè)計(jì)有所幫助。