service articlemysql
try {
foreach ($ids as $id) {
$model = $this->_articleModel->findOne($id);
if (isset($model[$this->getPrimaryKey()]) && !empty($model[$this->getPrimaryKey()])) {
$url_key = $model['url_key'];
Yii::$service->url->removeRewriteUrlKey($url_key);
$model->delete();
} else {
//throw new InvalidValueException("ID:$id is not exist.");
Yii::$service->helper->errors->add("Article Remove Errors:ID $id is not exist.");
$innerTransaction->rollBack();
return false;
}
}
$innerTransaction->commit();
} catch (Exception $e) {
Yii::$service->helper->errors->add('Article Remove Errors: transaction rollback');
$innerTransaction->rollBack();
return false;
}
问题1;catch捕获异常方法调用错误
问题2;catch捕获异常在PHP7版本改成了throw
更正代码如下
try {
foreach ($ids as $id) {
$model = $this->_articleModel->findOne($id);
if (isset($model[$this->getPrimaryKey()]) && !empty($model[$this->getPrimaryKey()])) {
$url_key = $model['url_key'];
Yii::$service->url->removeRewriteUrlKey($url_key);
$model->delete();
} else {
//throw new InvalidValueException("ID:$id is not exist.");
Yii::$service->helper->errors->add("Article Remove Errors:ID $id is not exist.");
$innerTransaction->rollBack();
return false;
}
}
$innerTransaction->commit();
} catch (\Exception $e) {
Yii::$service->helper->errors->add('Article Remove Errors: transaction rollback');
$innerTransaction->rollBack();
return false;
} catch (\Throwable $e) {
Yii::$service->helper->errors->add('Article Remove Errors: transaction rollback');
$innerTransaction->rollBack();
return false;
}