Расходуются ли ресурсы на try catch?
Закономерный вопрос.
Не научившись толком отличать 0 от false, и не научившись правильно писать elseif, каждый нуб в обязательном порядке озабочивается Вселенской Проблемой Производительности. 
"Как же так" - проснувшись одним прекрасным утром думает он - "Как только мой сайт достигнет пиковой нагрузки два посетителя в час, то начнутся стрррашные проблемы с производительностью! И надо срочно, забыв все на свете и теряя на ходу тапки, кидаться их решать!!!1111"
Дальше выбирается любой рандомный оператор и появляется ВОПРОС: "А не слишком ли медленно ли он выполняется?!"

И что характерно, чаще всего, как и сейчас, сам по себе оператор является бессмысленным, и вопрос должен быть не "не слишком ли он медленный?", а "на кой он вообще здесь сдался?"

Наличие операторов в коде должно быть продиктовано не пубертатными фантазиями про "потребление ресурсов", а алгоритмом.  Где оператор на своем месте - там он и должен стоять.
В данном случае никакой трай с кетчем тут сто лет в обед не сдался, поэтому просто убрать его совсем. И всё сразу начнет летать, конечно же.

Вот кстати я всегда говорил: то что для нормальных людей анекдот, для похапистов - суровая реальность. Каждый второй вопрос на тостере - это анекдот про "у  таракана уши в ногах". Или анекдот про срочное обрезание - типичный пример XY problem. Ну или сейчас:

Идет мент. Смотрит - фонарь стоит, под фонарем лужа, в луже мужик сидит.
- Чё здесь делаешь?
- Да вот, часы потерял. теперь ищу.
Ну, мент думает - дай помогу. Искал-искал, весь перемазался - нету часов.
- Слушай, мужик. Нету тут никаких часов!
- Да я знаю. Я их вон там, возле забора потерял.
- А ЧЕ ТЫ ИХ ЗДЕСЬ ИЩЕШЬ???
- А тут светлее!


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

PS: ifelse вообще шедевр, ясчитаю.