0

我有一个绑定到一个事件的内核监听器,在某些情况下kernel.request它可以抛出一个 PHP 。\RuntimeException而在开发环境中,Symfony 捕获异常并向我显示“致命错误”的 Twig 错误页面,而在生产环境中,我只是不断得到一个空页面。这是一个200 OKHTTP 响应,但它没有内容。

我想要实现的是显示一个定制的错误页面 - 即“错误的应用程序配置”,这实际上对最终用户试图访问该页面有任何用处。这是一个致命的错误,但是——好吧——它最终会发生。

我尝试在我的异常侦听器中捕获它,该侦听器在kernel.exception事件中执行,但它似乎没有捕获“致命错误”异常。

这是我到目前为止尝试过的

  • kernel.exception 事件监听器
  • 抛出一个“正常” \Exception(认为可能是这样)。似乎从侦听器中抛出的异常也不会触发 kernel.exception 事件......

有什么建议么?

4

1 回答 1

0

好的,我似乎找到了答案。

问题是服务定义的顺序。当您标记服务以将其方法之一绑定到kernel.exception事件时,它需要 - 当然 - 在您的服务配置中声明,然后在任何其他侦听器中引发异常。或者任何其他地方,事实上。

于 2013-02-17T14:35:13.730 回答