use tentar pegar
try {
$pdo->exec ("QUERY WITH SYNTAX ERROR");
} catch (PDOException $e) {
if ($e->getCode() == '23000')
echo "Syntax Error: ".$e->getMessage();
}
Leia
PDOStatement::errorCode
retirado da lista de códigos de retorno