简单的错误检查if语句


Simple error checking if statement

我想用一个简单的错误标志来替换warningerror的列表。我正在尝试检查这个代码是否会产生错误,如果是的话,输出一个自定义错误

$sxml = simplexml_load_file($yurl)

我玩了try catch块,但我似乎没能把它做好,任何帮助都将不胜感激。

使用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对象的数组。

只能有catch异常,不能有错误。

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