ZF2, как создать исключение в подключенном прослушивателе событий

Я пытаюсь бросить (и поймать в другом месте, но я не дошел до этого) исключение из прослушивателя событий закрытия, установленного в методе 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());
}

person Roland    schedule 10.09.2013    source источник


Ответы (1)


Виноват.

У меня были некоторые проблемы с xdebug, которые вызывали дампы ядра. Выгрузка xdebug решила мою проблему. Я могу бросить исключение.

person Roland    schedule 11.09.2013