简单错误检查if语句

时间:2012-08-26 10:08:02

标签: php exception-handling try-catch custom-errors

我想用简单的错误横幅替换warningerror的列表。我正在尝试检查此代码是否产生错误,如果是,则输出自定义错误

$sxml = simplexml_load_file($yurl)

我使用了try catch区块,但我似乎无法做到正确,任何帮助都将受到赞赏。

2 个答案:

答案 0 :(得分: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 :(得分:1)

您只能catch例外,而不是错误。

使用set_error_handler()将PHP的默认错误处理程序替换为您自己的函数。