# `PDOException` クラス
+ **`PDOException`** クラスは、エラー処理モードが **`PDO::ERRMODE_EXCEPTION`** に設定されている場合に `PDO` によって発生するエラーを表します
  + 新しい `PDO` 接続が失敗すると、エラー処理モードに関係なく、常に **`PDOException`** がス行されます
  + データベース操作によってエラーが発生すると、`PDO` は **`PDOException`** をス行する
  + `PHP` try and catch ブロックを使用して例外を処理します
  + **`PDOException`**クラスには、エラーを識別するための次のメソッドが用意されています
    + **`getCode()`**: `SQLSTATE` を返す
    + **`getMessage()`**: エラーメッセージを返す
    + **`PDOException`** クラスは `MySQL` エラーコードを提供しません
  + エラーコードは次の場所から取得できます
    + データベースハンドル:**`PDO::errorInfo()`**
    + ステートメントハンドル:**`PDOStatement::errorInfo()`**
----------------------------------------------------------------------------------
`PDO::errorInfo()` と `PDOStatement::errorInfo()` は、データベースハンドルとステートメントハンドルの最後の操作に関連するエラー情報をそれぞれ取得します。戻り値は次の要素を含む配列です。
- `SQLSTATE` エラーコード
- `MySQL` エラーコード
- エラーメッセージ

最後の操作でエラーが発生しない場合、`SQLSTATE` 要素の値は `00000` として返されます。

配列内の値の例を次に示します。
```
Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax ... )
```