我正在从事Symfony项目,并且正在尝试为生产环境创建用户友好的错误页面。为此,我重写了twig.exception_controller参数。该过程在Symfony Documentation中进行了描述。通过重写异常控制器,我已经能够为不存在路由或抛出未捕获的异常的实例创建自定义错误页面。我不能让它在致命错误中工作,这就是我的问题所在。
是否有可能捕获/处理Symfony中的致命错误?当发生致命错误时,我没有尝试继续运行应用程序(as the answerer of this question suggests)。我只想展示一个错误页面,除了包含函数调用堆栈跟踪的标准页面。
我尝试使用register_shutdown_function设置关闭功能,但这并没有阻止显示默认的错误页面(带有堆栈跟踪)。
谢谢!
发布于 2014-06-24 02:50:32
try {
// assert this fails because you have some buggy code here
$foos=$fooService->getFoosByDateTime();
}catch(\Exception $e){
//you can catch the exception
$exceptionMessage= $e->getMessage();
$this->redirect("your_custom_route_to_error_page",{"error":$exceptionMessage});
}发布于 2014-06-24 02:53:16
您可以启用捕获致命错误并将其转换为异常,如调试组件中所示。
//如果我没记错,Symfony Fullstack已经做了这个http://symfony.com/doc/current/components/debug/introduction.html
然后,您可以编写自己的异常处理程序,它以用户友好的方式捕获和处理异常。
https://stackoverflow.com/questions/24371328
复制相似问题