PDO por defecto lo puedes configurar para que lance excepciones, estas son lanzadas en un objeto PDOException que tiene toda la información del error.
Algo así:
Código PHP:
Ver originaltry {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
Saludos.