Вы здесь на правильном пути.Вы можете обрабатывать исключения в вашем ErrorController - соглашение, смоделированное в Zend, но также и во многих других средах.Вы можете создать свой собственный, если вы катите его своими руками.
Этот поток имеет более Zend-ориентированный метод обработки, но вы можете использовать ErrorController для фактической визуализации вашего представления.Обработайте ввод класса исключений $ e и получите сообщение от него.
Создание исключений из модели / представления / контроллера в приложении Zend Framework
Если вы 'Углубившись в самодельный маршрут, вы можете изящно отобразить его, если оберните свои большие блоки в try / catch и протестируете все экземпляры класса исключений.Например:
class Reactor () { // business class
public function shutdown() {
if($date > '2 pm') {
// show error message to user
echo 'you can't shutdown before 2 pm.';
} else {
// error while trying to shutdown
throw new Exception('Oh my God, it is gonna blow!!');
}
}
}
//later, in the controller
$reactor = new Reactor();
try{
$reactor->shutdown('1pm');
} catch(Your_Custom_Exception $e){
//pass to view
$this->view($e->getMessage());
} catch(Exception $e){
// woops, serious error. do something useful
}