抓住条令异常后坚持实体



我正试图在我的网站上创建一个运行Symfony 4的日志系统。每次抛出异常时,我都会将其捕获到侦听器中,然后创建一个包含异常值的Log实体,并通过电子邮件将其发送给我。

但事实是当异常是Doctrine PDO异常时,刷新似乎会使应用程序崩溃。我的意思是,flush实际上是有效的,但之后的所有代码都没有执行(邮件没有发送,重定向没有工作,…(

如果我评论flush,一切都很好(当然,除了我没有持久化我的实体(。

我尝试清除((EntityManagerInterface;创建一个新的;什么都不管用。

知道吗?

谢谢!

我终于明白了。做我想做的事情没有问题。我的问题来自一个我忘记的听众,他在听Doctrine postFlush方法。当我尝试刷新Log实体时,侦听器被调用,并运行另一个SQL查询,该查询也引发了异常。

由于我已经通过了kernel.exception事件,所以这个事件没有被捕获,服务器只显示了500页。

现在一切都很好。

最新更新