PDO::ATTR_ERRMODE - это атрибут, устанавливающий режим обработки ошибок
PDO::ERRMODE_SILENT (0) – Это режим по умолчанию. PDO будет просто устанавливать код ошибки. Для получения более подробной информации вам потребуется обращаться к методам: PDO::errorCode() и PDO::errorInfo(), если ошибку вызвал объект класса PDO, или к PDOStatement::errorCode() или PDOStatement::errorInfo(), если косяк в объекте класса PDOStatement.
PDO::ERRMODE_WARNING (1) - В дополнение к установкам вывода ошибок, PDO будет выводить традиционные сообщение E_WARNING. Этот параметр полезен во время отладки - тестирования, если вы просто хотите видеть возникшие проблемы, не прерывая поток приложения.
PDO::ERRMODE_EXCEPTION (2) - В дополнение к установкам уровня вывода ошибок, PDO выбросит PDOException - исключение и задаст его свойства, так чтобы отразить код ошибки и сведения об ошибке. Этот параметр также полезен при отладке, так как он будет эффективно "останавливать" сценарий в точке ошибки, очень быстро указывая «пальцем» на потенциальные проблемы в вашем коде (Кстати, транзакции автоматически откатываются, если было выброшено исключение).