В pdo есть возможность выбора способа обработки ошибок -
php.net/manual/ru/pdo.error-handling.php. В вашем случае, видимо, выбран PDO::ERRMODE_EXCEPTION, тогда всегда будет кидаться Exception и вам нужно вручную ловить его через try-catch. Если же выбрать режим PDO::ERRMODE_WARNING, тогда ошибки будут писаться в лог, и вы сможете удобно ознакомиться с их текстом оттуда.