Laravel - 无法捕获PDO异常

时间:2016-12-10 10:42:06

标签: laravel

我有这个:

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

尝试一下......看起来没有抓到的块:

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

...因为脚本仍然在PDO Exception上退出:

  

[PDOException] SQLSTATE [23000]:完整性约束违规:   1062重复录入' 14'对于关键&laptop;笔记本电脑_asset_tag_unique'

那么如何捕获/处理PDO错误呢?

1 个答案:

答案 0 :(得分:2)

您是否将命名空间命名为

您必须将PDOException导入到您的类中才能使用它。 在php文件的顶部添加以下语句

use PDOException;