2014-04-24 46 views
0

我如何捕捉教條的例外? 我正在嘗試在此處找到的代碼: How to catch Exception in symfony 2? Why Symfony2 dont catch exceptions 但這不起作用。捕捉教條的例外Symfony2

代碼:

try{ 

    $emOperateur->flush();      
    return $this->redirect($request->getUri()); 

}catch(\Doctrine\ORM\ORMException $e){ 

    $this->get('session')->getFlashBag()->add('error', 'Blablablabla'); 
} 

當我插入帶有相同主鍵的元組,不漁獲去,我有經典的錯誤消息的屏幕。

+0

什麼例外,你希望被拋出?也許你想要的例外類型是不同的。我的意思是你確定教條引發異常嗎? – Javad

+3

試着抓住\ Exception – jamek

+0

Afaik,這些類型的異常在' - > persist(...)'中不在' - > flush()'中拋出。在' - > persist(...)'調用周圍放置try..catch結構會發生什麼? –

回答

1

在相關說明中,您應該首先檢查重複主鍵(您可以使用doctrine驗證器),因爲如果您接收到一個原則例外,實體管理器將關閉,您將無法從中恢復。

0

試圖抓住\異常

try{ 
    ... 
}catch(\Exception e){ 
    echo($e->getMessage()); 
}