【问题标题】:ZF2 how to throw an exception in an attached event listenerZF2如何在附加的事件监听器中抛出异常
【发布时间】:2013-09-14 10:43:41
【问题描述】:

我试图从 Module.php::onBootstrap 方法中设置的闭包事件侦听器中抛出(并在其他地方捕获,但我没有得到那么远)异常。

我得到的是事件管理器的超时和转储,其中跟踪的最后一位显示 em 试图运行关闭。如果未引发异常,则侦听器运行。

任何提示或线索将不胜感激。

public function onBootstrap(\Zend\Mvc\MvcEvent $e)
{
$sharedManager = $e->getApplication()
    ->getEventManager()
    ->getSharedManager();
$sm = $e->getApplication()->getServiceManager();
$em = $sm->get('doctrine.entitymanager.orm_default');

$sharedManager->attach(__NAMESPACE__, 'masterform-submit', function ($e) use($em)
    {
         ... 
        throw new \Exception('Did this work');
         ...
    }
    );
}

从控制器:

try{
    $this->getEventManager()->trigger('masterform-submit', $this, $data);
} catch ( Exception $e ) {
    error_log($e->getMessage());
}

【问题讨论】:

    标签: php exception-handling event-handling zend-framework2 listener


    【解决方案1】:

    我的错。

    我遇到了一些导致核心转储的 xdebug 问题。卸载 xdebug 解决了我的问题。我能够抛出异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      相关资源
      最近更新 更多