如何阻止在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错误 页面未找到。
请求的控制器无法分派请求。
控制器: 前\控制器\前
没有可用的例外“
我需要帮助。
答案 0 :(得分:1)
你可以通过链接" display_exceptions'来关闭zf2中的异常。 =>正确显示' display_exceptions' => false,[module / Application / config / module.config.php]