异常跟踪并在zend框架中阻止它2

时间:2014-06-23 05:55:49

标签: exception zend-framework2

如何阻止在zend框架2中显示异常,而是在抛出异常时我想重定向到404页面。 实际上当用户触发错误的url或某些查询以错误的方式执行时会抛出异常,所以我需要阻止此异常,而是重定向到任何其他设计良好的页面。我无法跟踪异常点,或者无法捕获异常或生成异常的位置。我用过这段代码         您可以在捕获异常之后以任何方式处理异常,如以下示例中全局捕获异常...:

在onBootstrap方法中,我在Module.php中附加了以下代码,在事件发生时执行该函数,以下附加了一个在引发错误(异常)时要执行的函数:

    public function onBootstrap(MvcEvent $e)
    {
      $application = $e->getApplication();
        $em = $application->getEventManager();
        //handle the dispatch error (exception) 
       $em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH_ERROR, array($this,   
    'handleError'));
        //handle the view render error (exception) 
        $em->attach(\Zend\Mvc\MvcEvent::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错误 页面未找到。

请求的控制器无法分派请求。

控制器:     前\控制器\前

没有可用的例外“

我需要帮助。

1 个答案:

答案 0 :(得分:1)

你可以通过链接" display_exceptions'来关闭zf2中的异常。 =>正确显示' display_exceptions' => false,[module / Application / config / module.config.php]