我有一个绑定到kernel.request
事件的内核侦听器,在某些情况下可以抛出PHP \RuntimeException
。然而在dev env Symfony捕获异常并向我显示'致命错误'的Twig错误页面,在prod env中我只是不断得到一个空页面。这是一个200 OK
HTTP响应,但它没有内容。
我想要实现的是显示自定义错误页面 - 即“错误的应用程序配置”,这对于尝试访问该页面的最终用户实际上是有用的。这是一个致命的错误,但是 - 好吧 - 它最终会发生。
我尝试在我的异常监听器中捕获它,它在kernel.exception
事件上执行,但它似乎没有捕获“致命错误”异常。
这是我到目前为止所尝试的内容
\Exception
(想到可能就是这种情况)。似乎从侦听器中抛出的异常也不会触发kernel.exception事件...... 有什么建议吗?
答案 0 :(得分:0)
好的,我似乎找到了答案。
问题在于服务定义的顺序。当您标记服务以将其中一个方法绑定到kernel.exception
事件时,它必须 - 当然 - 在您的服务的配置中声明,然后在任何其他侦听器中抛出异常。或者其他任何地方,事实上。