Php ZF2如何在附加的事件侦听器中引发异常

Php ZF2如何在附加的事件侦听器中引发异常,php,exception-handling,event-handling,zend-framework2,listener,Php,Exception Handling,Event Handling,Zend Framework2,Listener,我正试图从Module.php::onBootstrap方法中设置的闭包事件侦听器中抛出(并在其他地方捕获,但我并没有做到这一点)异常 我得到的是eventmanager的超时和转储,跟踪的最后一部分显示em试图运行闭包。如果未引发异常,则侦听器将运行 任何提示或线索都将不胜感激 public function onBootstrap(\Zend\Mvc\MvcEvent $e) { $sharedManager = $e->getApplication() ->getEve

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

我得到的是eventmanager的超时和转储,跟踪的最后一部分显示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());
}
我的错

我有一些xdebug问题是导致核心转储的原因。卸载xdebug解决了我的问题。我可以抛出异常