мое мнение такое:
Exception - это обычный встроенный класс, как DateTime, это никакая не конструкция языка, просто класс, и он должен встраиваться в MVC,
throw - оператор вызова, с тем отличием, что вызов не добавляется в стек, как при вызове функции, а идет обратно по стеку вызовов,
catch - специальный синтаксис языка, подобный функции с заданным типом параметра, наследником Exception
Exception не обрабатывает действия пользователя и работает одинаково в любом контексте, это не контроллер,
не содержит информацию о форматировании вывода, это не View,
содержит данные об ошибке - это или внешние данные, или данные из логика приложения, но не содержит обработки данных,
это анемичная модель или Value Transfer Object
когда мы бросаем, например, CHttpException в yii - мы "вызываем" системный контроллер, передаем ему параметр CHttpException с текстом ошибки и кодом HTTP статуса, а он вызывает view, который отрисовывает страницу ошибки по шаблону и модели