Запланированный выход из c# кубика по красной ветке

  • Автор темы Автор темы semafor
  • Дата начала Дата начала

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Реакции
410
Баллы
63
Добрый день!

Из своих экспериментов с кубиком c#, прихожу к выводу, что выход из него по красной ветке (например в случае if) происходит только в случае ошибок в коде. Если не прав, буду признателен за науку.

А если прав, то верна ли будет такая конструкция (в плане влияния на работу шаблона в целом и всплывания каких-либо дополнительных косяков):

Код:
Развернуть Свернуть Копировать
if (условие)
{
    //зеленая ветка
}
else
{
    project.SendInfoToLog("инфо о том что это запланированная ошибка");
    return null; //провоцируем ошибку кода и выход по красной ветке
}
 
  • Оценить
Реакции: Биржевик и The_vAe
я такой вариант использую, когда надо по ошибке выйти
Код:
Развернуть Свернуть Копировать
project.SendErrorToLog("Ошибка", true);
throw new Exception("Выход по ошибке");

Спасибо! Посмотрел, так пожалуй понятнее получится
 
  • Оценить
Реакции: trilko
Нормально работают оба варианта, но я бы рекомендовал первый, потому что по идее, он быстрее.
 
  • Оценить
Реакции: semafor
Нормально работают оба варианта, но я бы рекомендовал первый, потому что по идее, он быстрее.
кто то с администрации писал что
лучше не использовать, а настоятельно рекомендовали
Код:
Развернуть Свернуть Копировать
throw new Exception("Выход по ошибке");
 
  • Оценить
Реакции: vedi108, nik-n и Dimon174
Вот и я сомневался... Спасибо за коменты. Да и лог читабельнее получается с Exception
 
С программной точки зрения оно одинаково обрабатывается - перехват исключения, передача управления, поэтому не очень понимаю, почему null может быть хуже, разве что менее информативный вариант
 
С программной точки зрения оно одинаково обрабатывается - перехват исключения, передача управления, поэтому не очень понимаю, почему null может быть хуже, разве что менее информативный вариант
В принципе, при работе проекта я не заметил каких либо проблем с return null, а спросил на всякий случай, т.к. знаний и опыта не хватает. А вот информативность лога с Exception мне больше понравилась
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)