Автор Cain задал вопрос в разделе Другие языки и технологии
php. как правильно отловить варнинг 504 time-out при использовании функции file_get_contants с помощью try-catch блоков? и получил лучший ответ
Ответ от Ringo-chan[гуру]
никак, file_get_contents не генерирует исключения
можно повесить свою функцию на обработку ошибок (set_error_handler). во втором параметре в хэндлер будет приходить строка ошибки. проверяйте эту строку на наличие (к примеру) "504 Gateway Time-out". если есть - sleep. функционал вроде бы тот, что вы хотели и без исключений
Ringo-chan
(17759)
* а fopen генерирует исключения?
If the open fails, an error of level E_WARNING is generated. You may use @ to suppress this warning.
* set_error_handler помешает прежнему выводу ошибок?
Returns a string containing the previously defined error handler (if any). If the built-in error handler is used NULL is returned. NULL is also returned in case of an error such as an invalid callback. If the previous error handler was a class method, this function will return an indexed array with the class and the method name. - можно создавать цепочки хэндлеров
rtfm...