отслеживание исключений и их блокировка в zend framework 2

#exception #zend-framework2

#исключение #zend-framework2

Вопрос:

Как остановить отображение исключений в zend framework 2, и вместо этого при возникновении исключения я хочу перенаправить на страницу 404. На самом деле, когда пользователь запускает неправильный URL-адрес или какой-либо запрос выполняется неправильно, возникает исключение, поэтому мне нужно заблокировать это исключение и вместо этого перенаправить на любую другую хорошо оформленную страницу. Я не могу отследить точку исключения или, скорее, перехватить исключение или откуда генерируется исключение. Я использовал этот код, в котором вы можете обрабатывать исключения в любом случае, в котором вы хотите, после его перехвата, в качестве следующего примера, в котором вы перехватываете исключение глобально…:

В методе onBootstrap я прикрепил следующий код в Module.php в функции, выполняемой при возникновении события, ниже приведена функция, которая должна выполняться при возникновении ошибки (исключения):

     public function onBootstrap(MvcEvent $e)
    {
      $application = $e->getApplication();
        $em = $application->getEventManager();
        //handle the dispatch error (exception) 
       $em->attach(ZendMvcMvcEvent::EVENT_DISPATCH_ERROR, array($this,   
    'handleError'));
        //handle the view render error (exception) 
        $em->attach(ZendMvcMvcEvent::EVENT_RENDER_ERROR, array($this, 
    'handleError'));
    }

and then defineed in module.php only  the function to handle the error

    public function handleError(MvcEvent $e)
    {
       //get the exception
       $exception = $e->getParam('exception');
       //...handle the exception... maybe log it and redirect to another page, 
        //or send an email that an exception occurred...
    }
 

Я нашел этот код только из stackoverflow, но он не работает, я имею в виду, когда я передаю неправильные параметры в URL, он показывает » Произошла ошибка 404
Страница не найдена.

Запрошенный контроллер не смог отправить запрос.

Контроллер: Front Controller Front

Исключение недоступно »

Пожалуйста, мне нужна помощь в этом.

Ответ №1:

вы можете отключить исключения в zf2, связав ‘display_exceptions’ => TRUE с ‘display_exceptions’ => false, [module/Application/config/module.config.php ]

Комментарии:

1. Нет, я не хочу останавливать отображение исключения, а скорее отслеживать исключение и показывать его или перенаправлять на одно из моих определенных представлений.