Во время обзора кода с сотрудником Microsoft мы столкнулись с большой частью кода внутри блока try{}
. Она и ИТ-представитель предположили, что это может повлиять на производительность кода. Фактически, они предположили, что большая часть кода должна быть вне блоков try/catch и что необходимо проверять только важные разделы. Сотрудник Microsoft добавил и сказал, что предстоящий белый документ предупреждает о неправильных блоках try/catch.Не пытайтесь ли блокировать блоки, если исключения не выбрасываются?
Я огляделся и нашел его can affect optimizations, но, похоже, применяется только в том случае, когда переменная разделяется между областями.
Я не спрашиваю об ремонтопригодности кода или даже обработке правильных исключений (этот код нуждается в повторном факторинге, без сомнения). Я также не имею в виду использование исключений для управления потоком, это явно неправильно в большинстве случаев. Это важные проблемы (некоторые из них более важны), но не здесь.
Как блоки try/catch влияют на производительность, если исключения составляют не thrown?
EDIT: Я добавляю щедрость. Есть интересные ответы, но я хотел бы получить еще несколько материалов.
«Тот, кто пожертвует правильностью для исполнения, не заслуживает». –
Joel - Я ясно сказал, что это не фокус, я не занимаюсь микро-оптимизацией, и хороший код для меня более важен, я знаю лучше (я разработчик, не ИТ-парень). Это технический вопрос. – Kobi
, чтобы вы ели исключения, а не пасли их? Обрабатываете ли вы случай отказа или что-то делаете? –