O PDO não lançará exceções a menos que você diga. Você já correu:
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
no objeto PDO?
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Como obter a lista de colunas com restrições exclusivas no banco de dados SQL Server - SQL Server / TSQL Tutorial Part 98
Começando com os Canais do Django
Anúncio do ClusterControl 1.7.3:suporte aprimorado ao PostgreSQL e novas opções de implantação na nuvem
Spotlight Cloud Basic:a melhor ferramenta gratuita de monitoramento de desempenho de banco de dados