Обнаружить ошибку с SimpleXMLElement?

Я хочу быть в состоянии обнаружить ошибку с SimpleXMLElement, ошибки:

failed to open HTTP stream
failed to load external entity
Uncaught exception 'Exception' with message 'String could not be parsed as XML' 

У меня есть следующий код, чтобы попытаться обнаружить ошибку.

$xml =  new SimpleXMLElement("https://mail.google.com/mail/feed/atom",null,true);
if ($xml === FALSE) {
echo "Wrong username/password combination.";
}

Это не работает.... как я могу заставить обнаружение ошибок работать?

1 ответ

Решение

Исключения могут быть обнаружены с помощью конструкции try catch:

try {
     $oXml 
}
catch(Excepton $oException) {
   // Something went wrong!
}

Для проблем HTTP / Load я предлагаю вам использовать комбинацию:

  1. CURL, чтобы проверить действительный ответ
  2. simplexml_load_string.parse ответ и перехватывать любые предупреждения, используя http://php.net/libxml_use_internal_errors%28%29
Другие вопросы по тегам