ZF2:在dispatch.error事件中捕获异常

时间:2014-03-05 22:19:25

标签: php exception-handling zend-framework2

我的服务和模型层经常抛出Exception\loginRequired()Exception\incorrectUser()。我想抓住这些,并在适当的情况下,将用户重定向到登录页面,原始URI及其参数附加到GET字符串。成功登录后,我会将用户重定向到原始请求。

我在我的模块类中设置了一个函数,可以处理调度异常,但我的问题是,如何访问异常?

public function onBootstrap(MvcEvent $e)
{
    // initialise the event manager
    ...

    // catch exceptions
    $eventManager->attach('dispatch.error', function ($e) {

       // How to access the exception here?

    });
}

我需要能够访问异常来测试它的类型。

我已经检查了MVC模块,事件管理器和Response对象,虽然我可以找到对getError()的引用,但它们返回字符串而不是异常。我如何获得例外?

我在这个主题上看到了一些问题,但是他们使用的是ZfcUser模块,我不是。

1 个答案:

答案 0 :(得分:2)

因此,在查看Zend \ Mvc \ View \ Http \ ExceptionStrategy之后,我发现该异常可用作MvcEvent的参数,可通过$e->getParam('exception');

访问
相关问题