Есть код, который отрабатывает ответы на запросы к API и там есть такой участок:
if(count($temp['data']) > 0) {
Который раз в 2-3 тысячи запросов сбоит. Видимо, от API приходит какой-то не задокументарованный ответ. Получается ошибка:
PHP Warning: count(): Parameter must be an array or an object that implements Countable
Для этого я поставил try catch
в надежде отловить ответ, приходящий от сервера:
try {
$isCountable = count($temp['data']) > 0;
} catch(Exception $e) {
error_log('UNCOUNTABLE ERROR! At ' . $_SERVER['REQUEST_URI'] . ' with data:\n' . json_encode($temp));
}
Но catch просто не срабатывает в момент появления ошибки, а в консоли выводится всё тот же warning на строке: $isCountable = count($temp['data']) > 0;
Как мне отловить этот варнинг?
Вам в ошибке уже описали что надо проверить:
if (is_array($temp['data']) || ($temp['data'] instanceof Countable)) {
// correct
} else {
// incorrect
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть сайт на wordpress с установленным плагином WP Hide PostЕсть необходимость переноса сайта на новый хостинг, но решил перестраховаться и проверить...
Необходимо запустить проект, где есть 1С на СУБД postgreSQL на северной части, и должно быть клиентское, мобильное приложение Android, которое при...
Суть вопроса следующаяКаждый пользователь может создавать задачи