Поймать ошибки PHP, если файл XML пуст

поэтому я хватаю некоторую информацию из XML-файла, например:

$url = "http://myurl.blah"; $xml = simplexml_load_file($url); 

За исключением случаев, когда XML-файл пуст, и мне нужен код с ошибкой изящно, но я не могу понять, как поймать ошибку PHP. Я попробовал это:

 if(isset(simplexml_load_file($url))); { $xml = simplexml_load_file($url); /*rest of code using $xml*/ } else { echo "No info avilable."; } 

Но это не сработает. Думаю, вы не можете использовать ISSET таким образом. Кто-нибудь знает, как поймать ошибку?

 $xml = file_get_contents("http://myurl.blah"); if (trim($xml) == '') { die('No content'); } $xml = simplexml_load_string($xml); 

Или, возможно, немного более эффективный, но не обязательно рекомендованный, поскольку он замалчивает ошибки:

 $xml = @simplexml_load_file($url); if (!$xml) { die('error'); } 

Не используйте isset здесь.

 // Shutdown errors (I know it's bad) $xml = @simplexml_load_file($url); // Check you have fetch a response if (false !== $xml); { //rest of code using $xml } else { echo "No info avilable."; } 
 if (($xml = simplexml_load_file($url)) !== false) { // Everything is OK. Use $xml object. } else { // Something has gone wrong! } 

Из руководства PHP, обработка ошибок ( нажмите здесь ):

 var_dump(libxml_use_internal_errors(true)); // load the document $doc = new DOMDocument; if (!$doc->load('file.xml')) { foreach (libxml_get_errors() as $error) { // handle errors here } libxml_clear_errors(); }