2012-11-21 50 views
0

我正在開發一個網站,但是當我逃避然後插入記錄到數據庫中時,我使用try catch。php全局錯誤數組記錄錯誤

我想創建一個全局錯誤數組,我可以添加到任何異常消息,如果嘗試失敗並捕獲異常。

該數組稍後將用於我的php頁面,以顯示用戶發生的錯誤。

我該如何去創建這個數組?

感謝,

回答

1

您可以創建這樣一個一般性錯誤處理程序:

// error handler function 
function myErrorHandler($errno, $errstr, $errfile, $errline) 
{ 
    if (!(error_reporting() & $errno)) { 
    // This error code is not included in error_reporting 
    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 "Aborting...<br />\n"; 
     exit(1); 
     break; 

     case E_USER_WARNING: 
     echo "<b>My WARNING</b> [$errno] $errstr<br />\n"; 
     break; 

     case E_USER_NOTICE: 
     echo "<b>My NOTICE</b> [$errno] $errstr<br />\n"; 
     break; 

     default: 
     echo "Unknown error type: [$errno] $errstr<br />\n"; 
     break; 
    } 

    /* Don't execute PHP internal error handler */ 
    return true; 
} 

//設置爲用戶定義的錯誤處理程序

set_error_handler("myErrorHandler"); 
+0

似乎無關的問題。這不是創建一個數組。 – eisberg

+0

我認爲這更好地回答了這個問題,因爲它將原始海報寫入比全局數組更好的處理錯誤的方式。 – EmmanuelG

+0

是的,這是一個功能,我需要放置在類訪問。我需要的是類似$ _SESSION的東西,可以從任何地方訪問。 –