我如何捕捉学说例外? 我正在尝试这里找到的代码: How to catch Exception in symfony 2? Why Symfony2 dont catch exceptions 但这不起作用。
代码:
try{
$emOperateur->flush();
return $this->redirect($request->getUri());
}catch(\Doctrine\ORM\ORMException $e){
$this->get('session')->getFlashBag()->add('error', 'Blablablabla');
}
当我插入一个具有相同主键的元组时,它不会进入catch并且我有一个带有经典错误消息的屏幕。
答案 0 :(得分:2)
在相关的说明中,您应首先检查重复主键之类的内容(您可以使用doctrine验证器),因为如果您收到一个学说异常,实体管理器将关闭,您将无法恢复从它。
答案 1 :(得分:2)
尝试捕获\ Exception
try{
...
}catch(\Exception e){
echo($e->getMessage());
}