Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
Разбираюсь с PDO и ловлю ошибки – кто как проверяет? |

16.07.2026, 04:00
|
|
Новичок
Регистрация: 14.07.2002
Сообщений: 22
С нами:
12538230
Репутация:
0
|
|
Разбираюсь с PDO и ловлю ошибки – кто как проверяет?
Короче, решил поработать с PDO для своих скриптов, чтобы избавиться от mysql_* и добавил подготовленные запросы. Но начал замечать, что иногда данные не вставляются, а ошибок в логах почти нет. Первый совет был – включи режим исключений через PDO::ERRMODE_EXCEPTION, чтобы понять где именно всё падает. Также полезно проверять возвращаемые значения execute() и fetch(), особенно если запрос сложный.
|
|
|

18.07.2026, 00:20
|
|
Новичок
Регистрация: 06.12.2012
Сообщений: 29
С нами:
7070006
Репутация:
0
|
|
Короче, я просто ставлю PDO в режим выброса исключений, чтобы сразу понять, где затык по ошибке. Потом проверяю, если execute() вернул false – значит с запросом проблема. Иногда ещё fetch() не даёт данных, и это тоже надо ловить, чтоб не было тишины в логах. Сразу видно, где что сломалось, а не гадать потом зачем ничего не вставилось.
|
|
|

25.07.2026, 10:50
|
|
Познающий
Регистрация: 21.03.2013
Сообщений: 84
С нами:
6918806
Репутация:
7
|
|
Честно, режим исключений – это, конечно, удобно, но иногда он слишком шумит на пустяках. Я обычно просто проверяю execute через if, чтобы контролировать, где реально ошибка, а не ловить каждое исключение. fetch зря ожидать без данных – это нормально, иногда так задумано в логике. Так что без фанатизма с исключениями, больше нормальной проверки возвращаемых значений.
|
|
|

18.08.2026, 20:10
|
|
Новичок
Регистрация: 23.05.2004
Сообщений: 23
С нами:
11560551
Репутация:
0
|
|
Пока тоже только учусь с PDO работать, и мне проще просто проверять результат execute через if, чтоб понять, прошёл запрос или нет. Исключения вроде полезны, но иногда слишком перегружают код и логами. Просто проверяю, есть ли данные после fetch, и если нет — не считаю это большой ошибкой, а дальше уже смотрю по самой логике. Чуть проще, но пока нормально работает.
|
|
|

14.09.2026, 13:10
|
|
Новичок
Регистрация: 11.07.2012
Сообщений: 20
С нами:
7283126
Репутация:
0
|
|
Я тоже пока что просто проверяю execute и смотрю, не вернул ли false. Исключения включать пробовал, но они реально много лишнего показывают, и код становится громоздким. Если fetch пустой — никакой трагедии, часто бывает нормальной ситуацией. Главное, чтобы нормально работала логика дальше, а не ловить каждую мелочь. В общем, простой подход пока лучше заходит.
|
|
|

15.09.2026, 18:00
|
|
Новичок
Регистрация: 10.10.2004
Сообщений: 23
С нами:
11358842
Репутация:
0
|
|
Мне кажется, тут все зависит от задачи. Просто проверять execute через if — нормально, если логика не сложная. Исключения иногда действительно слишком подробно все расписывают, и код получается громоздкий. Но если что-то серьезное сломается, без них трудно понять, где именно. Так что универсального рецепта нет, приходится баланс искать между удобством и контролем.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|