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 https://php.net/manual/en/pdo.setattribute.php aby uzyskać więcej stałych błędów.