1
我正在使用Yii框架並在下面編寫代碼。當沒有特定ID的條目時,它給出Error: Call to a member function delete() on a non-object
這是在調試模式下指示的yii\base\ErrorException
。問題是,儘管列入了yii\base\ErrorException
並指定了catch塊,但我無法捕獲此異常。這裏有什麼問題?Yii框架中我無法捕捉異常
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());
}
我喜歡你的答案,但如果問題是,「如果findOne找不到任何東西,怎麼會拋出異常?」 –
@IvanButtinoni然後你拋出異常而不是返回。 :) – Alex
是的,這是主意,但乍一看沒有任何事件/行爲可能導致「findOne」的行爲:( –