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

semafor

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

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

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

Код:
if (условие)
{
    //зеленая ветка
}
else
{
    project.SendInfoToLog("инфо о том что это запланированная ошибка");
    return null; //провоцируем ошибку кода и выход по красной ветке
}
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
я такой вариант использую, когда надо по ошибке выйти
Код:
project.SendErrorToLog("Ошибка", true);
throw new Exception("Выход по ошибке");
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
я такой вариант использую, когда надо по ошибке выйти
Код:
project.SendErrorToLog("Ошибка", true);
throw new Exception("Выход по ошибке");
Спасибо! Посмотрел, так пожалуй понятнее получится
 
  • Спасибо
Реакции: trilko

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Нормально работают оба варианта, но я бы рекомендовал первый, потому что по идее, он быстрее.
 
  • Спасибо
Реакции: semafor

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
Нормально работают оба варианта, но я бы рекомендовал первый, потому что по идее, он быстрее.
кто то с администрации писал что
лучше не использовать, а настоятельно рекомендовали
Код:
throw new Exception("Выход по ошибке");
 
  • Спасибо
Реакции: vedi108, nik-n и Dimon174

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Вот и я сомневался... Спасибо за коменты. Да и лог читабельнее получается с Exception
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
С программной точки зрения оно одинаково обрабатывается - перехват исключения, передача управления, поэтому не очень понимаю, почему null может быть хуже, разве что менее информативный вариант
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
С программной точки зрения оно одинаково обрабатывается - перехват исключения, передача управления, поэтому не очень понимаю, почему null может быть хуже, разве что менее информативный вариант
В принципе, при работе проекта я не заметил каких либо проблем с return null, а спросил на всякий случай, т.к. знаний и опыта не хватает. А вот информативность лога с Exception мне больше понравилась
 

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