2017-07-12 3 views
2

私は主キーの複製があるエントリを挿入します。なぜYii2がtry/catchでダウンしていますか?

public function actionInc() 
{ 
     $add = new Country(); 
     $add->code = 'QI'; 
     $add->name = 'Qiang'; 
     $add->population = '4444444'; 
    try { 
     $add->save(); 
     return $this->render('inc', [ 
      'count' => 'Ok', 
     ]); 
    } catch (Exception $exception) { 
     return $this->render('inc', [ 
      'count' => 'Error', 
     ]); 
    } 
} 

しかし、私は、アプリケーションがダウンしない、と仕事を続けたが、それが動作しないことを必要とする...例外サブクラスは、あなたの使用文
のYiiにインポートしている screenshot

+1

から継承しますか? – csminb

+0

@csminb動作します。あなたのコメントは私がそれをマークできるように応答してください。 – fosh4455

答えて

2

チェックdb関連のエラーのために\yii\db\Exceptionをスローします。あなたは(\ Yiiの\ DB \例外$例外) `へ`キャッチを試みている
のYiiの例外のすべてが\Exception

// db related exceptions 
catch (\yii\db\Exception $exception) 

// any exception throwin by yii 
catch (\yii\base\Exception $exception) 

// any php exception 
catch (\Exception $exception) 
関連する問題