由于我将我的项目更新到 Symfony 2.3 php 通知不再抛出异常。
我可以尝试访问数组中未定义的索引,并显示一条通知,但没有抛出异常。
起初我觉得我很困惑,也许这是以前版本的行为。我在 stackoverflow 上发现了一些问题,但建议并非如此。
无论如何让 Symfony 2.3 在 symfony2 通知上抛出异常?
由于我将我的项目更新到 Symfony 2.3 php 通知不再抛出异常。
我可以尝试访问数组中未定义的索引,并显示一条通知,但没有抛出异常。
起初我觉得我很困惑,也许这是以前版本的行为。我在 stackoverflow 上发现了一些问题,但建议并非如此。
无论如何让 Symfony 2.3 在 symfony2 通知上抛出异常?
看一下boot()
FrameworkBundle中方法的开头:
public function boot()
{
ErrorHandler::register(null, false)->throwAt($this->container->getParameter('debug.error_handler.throw_at'), true);
// ...
}
即使您在其中注册了自己的错误处理程序AppKernel
(正如我所做的那样),FrameworkBundle 也会覆盖它。但是您可以使用参数配置 FrameworkBundle 的错误处理程序debug.error_handler.throw_at
,如下所示:
# in config.yml, for example
parameters:
# ALWAYS throw exceptions for notices, warnings, etc.
debug.error_handler.throw_at: -1
我不知道这在任何地方都有记录。
由于 PHP 的通知和警告通常表明严重的编程错误(d'oh!),我喜欢总是为所有事情抛出异常,即使在生产中也是如此。