2016-12-20 8 views
1

загрузки Я прочитал о событиях ядра в Symfony документации: http://symfony.com/doc/current/components/http_kernel.htmlПоймайте Symfony 2 исключения во время последовательности

Это написано: As you've seen, you can create and attach event listeners to any of the events dispatched during the HttpKernel::handle() cycle

Нет проблем, чтобы сделать это, я могу создать слушатель пользовательских исключений и слушать ядро Мероприятия.

Но как я могу поймать потенциальные ошибки во время загрузки (потому что не слушатели не называется):

public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) 
{ 
    if (false === $this->booted) { 
     $this->boot(); // Error can be thrown 
    } 

    return $this->getHttpKernel()->handle($request, $type, $catch); 
} 

я могу иметь такого рода ошибку, если я обеспечиваю неправильный доступ к базе данных (DriverException) для пример.

В режиме dev это нормально, потому что у меня есть обработчик ошибок по умолчанию с DebugBundle, но в производстве это белый экран.

Как я могу справиться с этим правильно?

+0

Вы можете поместить блок try/catch вокруг кода в web/app.php. Не совсем уверен, что вы можете делать с любыми пойманными исключениями, но по крайней мере вы можете их поймать. – Cerad

ответ