Powinieneś mieć display_errors = off
w swoim PHP.ini, aby uniknąć tego problemu. Błędy, które ujawniają takie szczegóły, pochodzą z wielu miejsc, oprócz PDO.
Tak, powinieneś mieć go również w bloku try/catch.
Możesz także $pdo->setAttribute(PDO::ERRMODE_SILENT)
, ale musisz sprawdzić kody błędów ręcznie, zamiast używać bloku try/catch. Zobacz http://php.net/manual/en/pdo.setattribute.php aby uzyskać więcej stałych błędów.