2013-06-19 75 views
1

因为我更新了我的项目到Symfony 2.3 php通知不再抛出异常。抛出异常与使用Symfony 2.3的php通知

我可以尝试访问数组中的未定义索引,并显示通知,但不会引发异常。

起初,我想我很困惑,也许这是前面的版本的行为。我在stackoverflow上发现了一些其他方面的问题。

how to handle PHP notice in symfony2

反正是有作出Symfony2的通知Symfony的2.3抛出异常?

回答

2

Have a look在FrameworkBundle的boot()方法的开头:

public function boot() 
{ 
    ErrorHandler::register(null, false)->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true); 
    // ... 
} 

即使你注册在AppKernel自己的错误处理(如我在做),该FrameworkBundle覆盖它。但是你可以使用debug.error_handler.throw_at参数配置FrameworkBundle的错误处理程序,就像这样:

# in config.yml, for example 
parameters: 
    # ALWAYS throw exceptions for notices, warnings, etc. 
    debug.error_handler.throw_at: -1 

我不知道,这是在任何地方记录。

由于PHP的注意事项和警告通常表明有严重的编程错误(d'oh!),所以即使在生产环境中,我也总是会抛出异常。