@Barrakuda74

Как в PHP поймать ошибки?

Есть множество данных которые получаю извне. У них есть определённая структура. Но однажды какой-либо параметр может придти пустым. А у меня в коде заложена работа с ним. Разумеется будет какой-нибудь notice или warning. Как их отловить? на PHP.net вроде приводятся примеры:
try {
   // Code that may throw an Exception or Error.
} catch (Throwable $t) {
   // Executed only in PHP 7, will not match in PHP 5
}

Но этот код нихрена не работает. Всё что внутри catch - не срабатывает. Почему?
  • Вопрос задан
  • 1277 просмотров
Решения вопроса 1
DevMan
@DevMan
потому что ворнинги/нотисы не являются "Code that may throw an Exception or Error".
и для них нужен кастомный хэндлер.

https://ideone.com/kFL2XY
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Исключения какбы специально и придуманы для обработки исключительных ситуаций. Ошибок в том числе.

есть set_error_handler и set_exception_handler

Обработка и логирование ошибок ¶

Почему?
У вас точно php7?
Ответ написан
@BitRouter
1. Можно проверять сами данные empty isset или тип данных gettype is_array etc
2. Можно дополнительную функцию, если значение данных будет играть на логику
3. Можно заводить переменную для сбора ошибок
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы