2017-11-06 3 views
0

에서 예외를 catch하지 않습니다. try/catch이 throw 된 예외를 포착하지 않습니다. 내가 permissions() 방법에 예외를 잡으려고 노력하고있어제목으로 "시도/catch가 Yii2

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')); 
    } 
} 

:

여기 내 코드입니다. 권한 방법은 다음과 같습니다.

private function persimssions($id) 
{ 
    $permitted = false; 

    if (!$permitted) { 
     throw new ForbiddenHttpException(Yii::t('app', 'MODULE_NO_PERMISSIONS')); 
    } 
} 

누군가 내가 잘못된 것을 설명 할 수 있습니까? 어떤 도움 주셔서 감사합니다

답변

3

나는 거의 Exception이 사실 yii\db\Exception이라고 확신합니다 - use 문을 확인하십시오. 그렇다면 ForbiddenHttpException을 잡지 못할 것입니다.

모든 예외를 catch하려면 catch\Exception을 입력하거나 use 문을 올바르게 추가하십시오.

+0

내'사용'에'사용 yii \ web \ ForbiddenHttpException; '이 있지만 여전히 작동하지 않습니다. – HELPME

+0

마지막 문장에서해야 할 일을 말씀 드렸습니다. – Bizley