Контроллер успешно выбирает представление, но оно генерирует исключение.
Если следовать шаблону проектирования MVC, это никогда не произойдет.Единственная логика, которая должна содержаться в представлении, это исключительно логика отображения (форматирование, локализация и т. Д.).
Ошибки должны отлавливаться либо на уровне модели, либо на уровне контроллера, но контроллер должен решить, что делатьс пользователем (redirect / 404 / etc).
Редактировать:
Конечно, это не единственный способ ... Я уверен, что вы можете найти взломанубитый код повсюду, который делает разные вещи.Насколько мне известно, да - ваши представления должны быть спроектированы таким образом, чтобы не нужно было перехватывать ошибки (кроме ошибок ajax / javascript, но в любом случае они к этому относятся).
Iобычно настраивают его так, чтобы у меня было другое представление для каждого кода ошибки HTTP, который я хочу обработать, и общее для универсального кода.В этом случае контроллер будет нести ответственность за передачу данных об ошибках в представление для рендеринга (обычно в виде массива).Конечно, это также может быть сделано с помощью ErrorModel (который будет «правильным» способом его реализации - я просто ленивый;))