Исключение не пойман ZF2
В onBootstrap
Module.php моего приложения я зарегистрировал функцию onErrors
о событиях EVENT_DISPATCH и EVENT_DISPATCH_ERROR. В любой из моих моделей, если я выброшу пользовательскую ошибку, Zend поймает ее для меня и в onErrors
функция, и я могу обработать ошибку (показать страницу ошибки, вернуть сообщение об ошибке как json и т. д.). Это работает хорошо, за исключением случаев, когда в функции, используемой Smarty, выдается ошибка. В этом случае я все еще в конечном итоге в onErrors
, но McvEvent->exception
NULL и я получаю эту ошибку:
Неустранимая ошибка: необработанное исключение "Application\Exception\InternalServerErrorException" в /........../module/Smarty/src/Smarty/View/Renderer.php:90 Трассировка стека:
# 0 /........../vendor/zendframework/zendframework/library/Zend/View/View.php(205): Smarty \ View \ Renderer-> render (Object (Zend \ View \ Model \) ViewModel))
# 1 /........../vendor/zendframework/zendframework/library/Zend/Mvc/View/Http/DefaultRenderingStrategy.php(102): Zend \ View \ View-> render (Object (Zend \) Вид \ Model \ ViewModel))
# 2 [внутренняя функция]: Zend \ Mvc \ View \ Http \ DefaultRenderingStrategy-> render (Object (Zend \ Mvc \ MvcEvent))
# 3 /........../vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func (Array, Object (Zend \ Mvc \ MvcEvent))
# 4 /........../vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend \ EventManager \ EventManager-> triggerListeners ('render.error', Object (Zend \ Mvc \ MvcEvent), Массив)
# 5 /.......... в /........../module/Smarty/src/Smarty/View/Renderer.php в строке 90
Что тут происходит? Почему Zend не ловит эту ошибку для меня?