我想用一个简单的错误标志来替换warning
和error
的列表。我正在尝试检查这个代码是否会产生错误,如果是的话,输出一个自定义错误
$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的默认错误处理程序替换为您自己的函数。