Zend_Controller_Plugins_ErrorHandler представляет собой
плагин для обработки исключений, брошенных вашим приложением, включая
те, которые вызваны отсутствием запрошенного контроллера или
действия. Он является альтернативой способам, перечисленным в разделе об исключениях MVC.
Zend_Controller_Plugins_ErrorHandler будет
производить переход к
ErrorController::errorAction() в модуле по умолчанию. Вы
можете установить альтернативные значения для перехода, используя
набор методов-аксессоров, доступных в плагине:
setErrorHandlerModule() устанавливает модуль, на
который производится переход.
setErrorHandlerController() устанавливает
контроллер, на который производится переход.
setErrorHandlerAction() устанавливает действие,
на которое производится переход.
setErrorHandler() принимает ассоциативный массив,
который может содержать любые из ключей 'module', 'controller'
или 'action'.
setErrorHandler().
Zend_Controller_Plugin_ErrorHandler регистрирует
перехватчик postDispatch() и проверяет, есть ли
зарегистрированые исключения в
объекте ответа.
Если есть, то производится попытка перехода на действие,
зарегистрированное в качестве обработчика ошибок.
Zend_Controller_Action::_getParam('error_handler'):
$errors->type. Тип ошибки может быть одним из
следующих:
Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER,
означает, что контроллер не был найден.
Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION,
означает, что запрошенное действие не было найдено.
Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER,
обозначает другие исключения.
exception объекта
error_handler:
render(), то возможно, что объект ответа уже содержит
в себе сохраненные данные для вывода. Это может привести к тому, что
выведется смесь из ожидаемого содержимого и содержимого
ошибки.
Запрошенная вами страница не найдена.
EOH; break; default: // ошибка приложения $content =<<Произошла непредвиденная ошибка. Пожалуйста, попробуйте позднее.
EOH; break; } // Удаление добавленного ранее содержимого $this->getResponse()->clearBody(); $this->view->content = $content; } } ]]>