Разбираюсь с PDO и ловлю ошибки – кто как проверяет?
Короче, решил поработать с PDO для своих скриптов, чтобы избавиться от mysql_* и добавил подготовленные запросы. Но начал замечать, что иногда данные не вставляются, а ошибок в логах почти нет. Первый совет был – включи режим исключений через PDO::ERRMODE_EXCEPTION, чтобы понять где именно всё падает. Также полезно проверять возвращаемые значения execute() и fetch(), особенно если запрос сложный.
Короче, я просто ставлю PDO в режим выброса исключений, чтобы сразу понять, где затык по ошибке. Потом проверяю, если execute() вернул false – значит с запросом проблема. Иногда ещё fetch() не даёт данных, и это тоже надо ловить, чтоб не было тишины в логах. Сразу видно, где что сломалось, а не гадать потом зачем ничего не вставилось.
Честно, режим исключений – это, конечно, удобно, но иногда он слишком шумит на пустяках. Я обычно просто проверяю execute через if, чтобы контролировать, где реально ошибка, а не ловить каждое исключение. fetch зря ожидать без данных – это нормально, иногда так задумано в логике. Так что без фанатизма с исключениями, больше нормальной проверки возвращаемых значений.