PDOがPDOExceptionを投げてくれない件

PHP5だからってことでせっかくPDOを使ってるのに、全然PDOExceptionを投げてくれない!
errorCode()とかerrorInfo()なんてメソッドつかってたら、結局pgsql関数使ってるときと一緒じゃん!
と嘆いていたのは僕ですが、
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
てやっとけばいいみたい。
@see PDO->setAttribute()

これで

PDO のエラーコードは、SQL-92 の SQLSTATE エラーコード文字列に 標準化されています。 ネイティブのコードを適切な SQLSTATE コードに変換するのは、個々の PDO ドライバの仕事となります。

こういう恩恵をたっぷり受けることができる!(ホント?)