Você deve ter
display_errors = off
em seu PHP.ini para evitar este problema. Erros que revelam detalhes como esses vêm de muitos lugares, além do PDO. Sim, você também deve tê-lo em um bloco try/catch.
Você também pode
$pdo->setAttribute(PDO::ERRMODE_SILENT)
, mas você precisa verificar os códigos de erro manualmente em vez de usar um bloco try/catch. Veja http://php.net/manual/en/pdo.setattribute.php para mais constantes de erro.