如果抛出异常,Symfony 1.4默认显示“糟糕!发生错误”页面。我定义了一个自己的页面(http://symfony-check.org/permalink/customize-the-oops-an-error-occurred-page),如果发生这种情况,我想通过邮件通知我。 那么有没有机会获得抛出的异常?像error_get_last()?
答案 0 :(得分:1)
感谢@waldek_c的建议!
最后我用过滤器解决了问题,并在转发到errorpage之前捕获了Exception。 像这样:http://blog.felixdv.com/2008/01/28/exception-catcher-filter-for-symfony/
这是我的过滤器:
class errorHandlingFilter extends sfFilter
{
public function execute($filterChain)
{
try
{
$filterChain->execute();
}
catch(Exception $e)
{
if($e instanceof sfStopException || $e instanceof sfError404Exception) // common symfony exceptions that are allowed
{
throw $e;
}
else
{
// do errorhandling here
throw $e;
}
}
}
}