CakePHP 3 - 捕捉错误

时间:2016-02-10 09:35:02

标签: php cakephp error-handling cakephp-3.0

use Cake\Core\Exception\Exception;


for($i=1; $i<count($values); $i++) {
        $entity = $table->newEntity();

        // irrelevant code

        try {
            $table->save($entity);
        } catch (Exception $e) {
            $errors[$i-1] = $values[$i];
        } finally {
            if(count($errors) == 0)
                $this->Flash->success('All rows are successfully imported. ');
            else {
                $this->Flash->error('Not all rows are successfully imported. ');
                debug($errors);
            }
        }
    }

我想要做的是抓住冲突的实体并向用户展示这些实体。

我得到的是PDO例外。那些没有冲突的人仍然插入,我想要的。

所以我只想抓住PDO异常,但是如何?

1 个答案:

答案 0 :(得分:3)

如果您只想捕获特定异常,请在catch块中指定异常类。

try
{}
catch (\PDOException $e)
{}