如果 $model->save() 失败则继续代码
Continue code if $model->save() fails
即使 $model->save() 失败,我如何确保 PHP 代码继续 运行?
我在 url 列上有一个唯一索引,所以我的代码有时会故意失败,但我想确保代码不会因此而停止。
$url = new \App\Url;
$url->url = 'http://www.example.com';
$url->save();
我试过这样尝试捕获:
$url = new \App\Url;
$url->url = 'http://www.example.com';
try {
$url->save();
} catch (Exception $e) {
//
}
但它仍然抛出 MySQL 错误并且代码停止。
QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://www.example.com' for key 'url_index' (SQL: insert into `urls` (`url`, `updated_at`, `created_at`) values (http://www.example.com, 2015-02-15 09:25:40, 2015-02-15 09:25:40))
我认为这里的命名空间可能有问题,试试这样:
$url = new \App\Url;
$url->url = 'http://www.example.com';
try {
$url->save();
} catch (\Exception $e) {
//
}
即使 $model->save() 失败,我如何确保 PHP 代码继续 运行?
我在 url 列上有一个唯一索引,所以我的代码有时会故意失败,但我想确保代码不会因此而停止。
$url = new \App\Url;
$url->url = 'http://www.example.com';
$url->save();
我试过这样尝试捕获:
$url = new \App\Url;
$url->url = 'http://www.example.com';
try {
$url->save();
} catch (Exception $e) {
//
}
但它仍然抛出 MySQL 错误并且代码停止。
QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://www.example.com' for key 'url_index' (SQL: insert into `urls` (`url`, `updated_at`, `created_at`) values (http://www.example.com, 2015-02-15 09:25:40, 2015-02-15 09:25:40))
我认为这里的命名空间可能有问题,试试这样:
$url = new \App\Url;
$url->url = 'http://www.example.com';
try {
$url->save();
} catch (\Exception $e) {
//
}