例えば:
SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction ROLLING BACK
このメッセージは、コード内でスローされた PDOEception から取得されます。1213
エラー コード ( ) を傍受し、特定の処理を行いたいと考えています。
なんで?
たとえば、デッドロックとは、1 マイクロ秒ほど後にクエリを再送信する必要があることを意味します。その他のエラーは、開発者などに警告する必要があることを意味します)。
今、私はコーディングする必要があります(継承するクラス内でPDO
):
try{
$this->lastStatement = $sql;
$this->lastStatement->execute($params);
}catch (PDOException $e){
return $this->error($e);
}
MySQL のエラーの全範囲がないように見えるため、 getCode
ofを使用できません。$E
たとえば、次のエラーは次のようSQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
に返されますHY000
。Which は非常に一般的なコードです。多くの異なるエラー タイプで使用されます。
エラーメッセージを解析する必要がありますか?