3

EVENT_DISPATCH リスナー内でスローされた例外を処理する方法はありますか?

class Module
{
    public function onBootstrap(EventInterface $event)
    {
        $application    = $event->getTarget();
        $eventManager   = $application->getEventManager();

        $eventManager->attach(MvcEvent::EVENT_DISPATCH, function(MvcEvent $event) {
            throw new ForbiddenException("403 - Fobidden");
        });
    }
}

ForbiddenException403 を設定する、JSON を返すなどの一般的な方法があります。すべてのロジックはMvcEvent::EVENT_DISPATCH_ERRORリスナーに関連付けられています。ForbiddenExceptionディスパッチエラーリスナー内のリスナーに転送するにはどうすればよいですか? ディスパッチリスナーからスローすると、キャッチされていない例外エラーが発生します...

それを乗り越えるための助けやヒントをいただければ幸いです。

4

2 に答える 2