Php Try/catch不';在Yii2中无法捕获异常
正如标题所说,Php Try/catch不';在Yii2中无法捕获异常,php,yii2,Php,Yii2,正如标题所说,try/catch不会捕获抛出的异常 这是我的密码: public function edit($id) { try { $this->permissions($id); return $this->redirect(['edit/list']); } catch (Exception $e) { Yii::$app->session->setFlash('error', Yii::t(
try/catch
不会捕获抛出的异常
这是我的密码:
public function edit($id)
{
try {
$this->permissions($id);
return $this->redirect(['edit/list']);
} catch (Exception $e) {
Yii::$app->session->setFlash('error', Yii::t('app', 'PERMISSIONS_NOT_FOUND'));
}
}
我试图捕获permissions()
方法中的异常。权限方法是:
private function persimssions($id)
{
$permitted = false;
if (!$permitted) {
throw new ForbiddenHttpException(Yii::t('app', 'MODULE_NO_PERMISSIONS'));
}
}
有人能给我解释一下怎么了吗?感谢您的帮助我几乎可以肯定您的
异常
实际上是yii\db\Exception
-请在使用
语句中检查此项。如果是这样的话,很明显它不会捕获禁止httpexception
如果您想捕获所有异常,请在
catch
中写入\Exception
,或添加适当的use
语句。我几乎可以肯定您的异常实际上是yii\db\Exception
-请在use
语句中检查此项。如果是这样的话,很明显它不会捕获禁止httpexception
如果您想捕获所有异常,请在catch
中写入\Exception
,或添加适当的use
语句。在我的uses
中,我有use yii\web\bankedenhttpexception代码>,但它仍然不起作用我在最后一句话中告诉过你该怎么做代码>,但仍然不起作用。我在最后一句话中告诉过你该怎么做。