2012-08-26 3 views
0

warningerror의 목록을 간단한 오류 배너로 바꾸고 싶습니다. 나는 trycatch 블록과 주변 연주하지만 바로 그것을 얻을 수없는 것간단한 오류 검사 if 문

$sxml = simplexml_load_file($yurl) 

사용자 지정 오류를 출력한다, 어떤 도움이 평가 될 경우이 코드 생산 오류가 있는지 확인하고 노력하고있어 .

답변

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의 기본 오류 처리기를 사용자 고유의 기능으로 대체 할 수 있습니다.