抓住教义例外后坚持存在的实体

问题描述

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

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

如果我评论同花顺,一切都会正常(除了我当然不能让我的实体永久存在)。

我试图 clear() EntityManagerInterface;创造一个新的;什么都行不通。

有什么主意吗?

谢谢!

解决方法

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

当我已经通过kernel.exception事件时,这个事件未被捕获,服务器仅向我显示了500页。

现在一切正常。