2016-12-10 32 views
1

I持っているこの:のでLaravel - PDOの例外をキャッチすることはできません

try { 
     $this->SQL->execute($this->values); 
     $this->insert_count++; 
    } catch (PDOexception $e) { 
     $this->errors[] = 'PDO error: ' . $e->getmessage(); 
     $this->error_count++; 
    } 

...:

$this->db = DB::connection()->getPdo(); 
    $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 

そして、いずれかがキャッチしないように見えるのtry ... catchブロックをスクリプトはまだPDO例外で終了します。

[PDOException] SQLSTATE [23000]:整合性制約違反:キー「LAPTため 1062重複したエントリ '14' ops_asset_tag_unique '

どうすればPDOエラーを捕捉/処理できますか?

答えて

2

あなたの名前空間に例外がありますか?

PDOExceptionをクラスにインポートして使用する必要があります。 CLASS「PDOException」が見つかりません...(存在する場合): は、これが発生します別のエラーであるあなたのphpファイルの先頭に

use PDOException; 
+0

を次のステートメントを追加します。 –

関連する問題