Там где "...", там реальная работа какая-то совершается, в БД что-то пишется, логи, и т.д.
Честно говоря первый раз такую практику увидел. Это нормально?
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
МД>Там где "...", там реальная работа какая-то совершается, в БД что-то пишется, логи, и т.д.
МД>Честно говоря первый раз такую практику увидел. Это нормально?
А что здесь не нормального? Попытались что-то сделать, не получилось -- переходим к плану B, C и.т.д.
Здравствуйте, Шахтер, Вы писали:
Ш>А что здесь не нормального? Попытались что-то сделать, не получилось -- переходим к плану B, C и.т.д.
Не, я без наездов. Хотел поинтересоваться. Никогда не встречал такой организации в коде.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Здравствуйте, Мёртвый Даун, Вы писали:
МД>Не, я без наездов. Хотел поинтересоваться. Никогда не встречал такой организации в коде.
Обычно она имеет место, просто неявно, за счет наличия try/catch внутри вложенных вызовов функций. Ну а тут, скорее всего, есть проблема в виде слишком огромной функции выполняющей слишком много задач. Иначе как бы в ней столь развесистая обработка ошибок образовалась бы?
МД>Там где "...", там реальная работа какая-то совершается, в БД что-то пишется, логи, и т.д.
МД>Честно говоря первый раз такую практику увидел. Это нормально?
Вероятно, здесь исключения использованы там, где более уместны бы были коды возврата.
А может и нет. Надо смотреть код более детально...
Если функция не слишком большая или запутанная (т.е. логика переходов прозрачная), можно оставить как есть.
Если такое дерево catch-ей присуствует в нескольких местах, и всетаки решитесь рефакторить, то обязательно, рефакторить все места одноверменно, чтобы сохранить "единство стиля", это очень поможет следующему читателю кода.
Здравствуйте, Мёртвый Даун, Вы писали:
МД>Всем привет, МД>нашел у нас в лохматом коде несколько мест, где написаны вложенные try/catch. МД>Честно говоря первый раз такую практику увидел. Это нормально?
В особых случаях — нормально. Ну а что ещё делать, если исключение может прилететь.
Здравствуйте, Мёртвый Даун, Вы писали:
МД>нашел у нас в лохматом коде несколько мест, где написаны вложенные try/catch. МД>Честно говоря первый раз такую практику увидел. Это нормально?
Смотря с какой точки зрения. С точки зрения языка никакого криминала. С точки зрения дизайна... Лично я бы присмотрелся к этому месту более пристально.
--
Не можешь достичь желаемого — пожелай достигнутого.