我试图在实体持久性期间捕获 Symfony2.3 应用程序中控制器中的操作内的异常。
try {
$em->persist($firm);
} catch(\Exception $e){
.........
}
我希望所有错误都将由我在catch语句中的代码处理,但我得到了以下错误:
[2/2] DBALException: An exception occurred while executing 'INSERT INTO ...
...
[1/2] PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
...
CRITICAL - Uncaught PHP Exception Doctrine\DBAL\DBALException
如果我在try语句中抛出异常,它会被catch中的代码正确处理和处理
try {
throw new \Doctrine\ORM\ORMException;
//or throw new \Doctrine\DBAL\DBALException;
//or throw new \PDOException;
} catch(\Exception $e){
.......
}
我的问题是:应该如何在 Symfony2 控制器中正确处理 Doctrine2。 谢谢。