【发布时间】:2014-04-24 15:02:55
【问题描述】:
我怎样才能捕捉到教义异常? 我正在尝试在这里找到的代码: 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');
}
当我插入一个具有相同主键的元组时,它不会被捕获,并且我有一个带有经典错误消息的屏幕。
【问题讨论】:
-
你期望抛出什么异常?也许您想要的异常类型不同。我的意思是您确定该学说会引发异常吗?
-
尝试捕捉\Exception
-
Afaik,这种异常是在
->persist(...)中抛出的,而不是在->flush()中。如果您将 try..catch 构造放在->persist(...)调用周围会发生什么? -
尝试捕捉
\Exception $e如果教义抛出错误,您将知道它是否确实+确切的错误类别
标签: symfony doctrine-orm doctrine try-catch