где логические блоки содержат методы моделей выдающих сообщения пользователю - бросают исключения
Логика построенная на исключениях - плохая логика, так делать не нужно в принципе. Вопрос действительно идиотский, учитывая что он вырван из контекста вашей "гениальной" идеи. Ексепшны вообще не для этого, они по тому и ексепшны, что обрабатывают логику, с возможно нестабильным поведением ресурсов. В остальных случаях их применение не оправдано логически. А производительность операторов вообще должна быть для программиста на последнем месте, то есть когда ВСЯ логика написана верно, и вот какой-то блок кодак исполняется медленно. Тогда (и только тогда) есть смысл что-то оптимизировать, править, ускорять и тп. А ваши абстрактные вопросы больше относятся к области "почему травка зеленая а солнышко светит?", стыдно должно быть.
PS: ifelse вообще шедевр, ясчитаю.