ZF2:如何在渲染过程中捕获异常

时间:2013-04-08 05:15:13

标签: rendering zend-framework2

渲染开始时,我的控制器代码已经运行。如果视图脚本中存在错误,则通常会导致页面呈现空或半渲染。我检查了代码,没有订阅的事件,PHPRenderer只是重新抛出异常:

    try {
        ob_start();
        include $this->__file;
        $this->__content = ob_get_clean();
    } catch (\Exception $ex) {
        ob_end_clean();
        throw $ex;
    }

对于控制器,有一个'dispatch.error'事件,但这不起作用。有没有办法捕获这些渲染错误并正确记录/显示错误?

2 个答案:

答案 0 :(得分:2)

您可以将侦听器附加到“render.error”事件。请参阅http://framework.zend.com/manual/2.1/en/modules/zend.mvc.mvc-event.html

答案 1 :(得分:1)

2.0.x分支中没有这样的东西。 对于2.1.x分支,请看另一个答案。

无论如何,没有这样的事件你可以使用。但我认为你不需要它。您不应该在视图中出现错误,因为视图仅用于显示内容,而不用于业务逻辑。所以我想说你需要修复你的观点,而不是找到一种方法来捕捉这些异常。

对于错误日志,您可以检查apache日志。