2012-03-06 6 views
0
[05-Mar-2012 02:38:58] PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/pokerwor/public_html/request.php:275 
Stack trace: 
#0 /home/pokerwor/public_html/request.php(275): SimpleXMLElement->__construct('') 
#1 /home/pokerwor/public_html/request.php(295): readXML() 
#2 {main} 
    thrown in /home/pokerwor/public_html/request.php on line 275 

У меня есть флеш-файл, который отправляет строку xml в php через интервал. иногда мой php-файл делает эту ошибку, любое тело знает, что это такое?Что такое ошибка трассировки стека php?

+1

Это означает, что то, что отправленная вспышка недействительна, xml. –

+0

Почему это иногда бывает? вероятность = 1/100? –

+1

попробуйте поймать исключение и зарегистрировать полученный xml. –

ответ

1

Неверная XML-строка XML. Вы должны написать var_dump() вывод XML, чтобы увидеть, что не так с входом. Если вы хотите обработать эту ошибку, чтобы иметь дружественный выход, вы можете использовать конструкцию: try/catch

try { 
    // Load the XML 
} catch (Exception $ex) { 
    // Handle the error 
} 

В catch коды вы также можете добавить код отладки, такие как запись содержимого XML в файл журнал. Таким образом, вам не придется воспроизводить редкую ситуацию, набирая вашу кнопку обновления сто раз.

+0

Скажите, пожалуйста, подробнее об этом? catch, просто запускается, если происходит ошибка? –

+1

@AMINGholibeigian Да, код внутри блока 'catch' будет выполняться только в том случае, если исключение генерируется чем-либо внутри блока' try'. Также обратите внимание, что если встречается исключение, остальное, если блок 'try' будет пропущен; выполнение будет прыгать прямо на 'catch'. –

+0

есть ли какой-нибудь простой пример кода для записи содержимого XML в файл журнала? –

Смежные вопросы