2012-08-26 54 views
0

我想用一個簡單的錯誤橫幅替換warning s和error s的列表。我想,以檢查是否該代碼產生錯誤,如果是輸出自定義錯誤簡單錯誤檢查是否聲明

$sxml = simplexml_load_file($yurl) 

我與trycatch塊發揮各地,但我似乎無法得到它的權利,任何幫助將不勝感激。

回答

3

使用libxml_use_internal_errors()

<?php 

    libxml_use_internal_errors(true); 

    $sxml = simplexml_load_file($yurl); 

    if (!$sxml) { 
     foreach (libxml_get_errors() as $error) { 
      // Custom error banner here 
       switch ($error->level) { 
        case LIBXML_ERR_WARNING: 
         $return .= "Warning $error->code: "; 
         break; 
        case LIBXML_ERR_ERROR: 
         $return .= "Error $error->code: "; 
         break; 
        case LIBXML_ERR_FATAL: 
         $return .= "Fatal Error $error->code: "; 
         break; 
        }  
     } 
      //clears libxml error buffer 
     libxml_clear_errors(); 
    } 

?> 

libxml_get_errors()返回libXMLError對象的數組。

1

您只能catch例外,而不是錯誤。

使用set_error_handler()用您自己的函數替換PHP的默認錯誤處理程序。