作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在实体持久化期间捕获 Symfony2.3 应用程序中 Controller 中的操作内的异常。
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 Controller 内正确处理 Doctrine2。谢谢。
最佳答案
可能您在 $em->flush()
行中遇到异常,该行没有用 try-catch 语句包装。
关于symfony - 如何在symfony2框架中处理 Controller 内部的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17471330/
我是一名优秀的程序员,十分优秀!