Vous devriez avoir display_errors = off
dans votre PHP.ini de toute façon pour éviter ce problème. Les erreurs qui révèlent des détails comme ceux-ci proviennent de nombreux endroits, en plus de PDO.
Oui, vous devriez également l'avoir dans un bloc try/catch.
Vous pouvez également $pdo->setAttribute(PDO::ERRMODE_SILENT)
, mais vous devez alors vérifier les codes d'erreur manuellement plutôt que d'utiliser un bloc try/catch. Voir http://php.net/manual/en/pdo.setattribute.php pour plus de constantes d'erreur.