我正在使用Yii框架,并在下面编写代码。当没有特定id的条目时,它会给出Error: Call to a member function delete() on a non-object
,这是调试模式中指示的yii\base\ErrorException
。问题是尽管我包含yii\base\ErrorException
并且指定了catch块,但我无法捕获此异常。这有什么问题?
use yii\base\ErrorException;
try {
$model = BranchUser::findOne($_GET['id']);
$model->delete();
return $this->redirect(['index']);
} catch (ErrorException $e) {
return $this->redirect(['site/error']);
// Error, rollback transaction
throw $e;
// print_r($model->getErrors());
}
答案 0 :(得分:3)
这是一个致命错误,无法从中恢复。
在尝试使用$model
之前,您应检查null
是否不是if ($model === null) {
return $this->redirect(['site/error']);
}
。
mtcars