Перейти к содержанию

В выражении "Если" отсутствует ветка "Иначе"

Оператор "Если" управляет выполнением программы, основываясь на результате одного или более логических выражений. Ветка "Иначе" выполняет роль действия по умолчанию, когда все другие условия не выполняются.

Зачастую программисты делают ошибки, забыв реализовать необходимые ветки "ИначеЕсли" для всех возможных случаев, в результате во время выполнения кода программа может столкнуться с некорректными данными или значениями, которые могут привести как к ошибкам расчета, так и ошибкам времени выполнения.

Для исключения таких случаев необходимо всегда реализовывать ветку "Иначе" для каждого оператора "Если".

Неправильно:

Если ЕстьСобытиеОдин() Тогда  // ошибка, не учли что редко может возникать событие три.
    СделатьОдин();
ИначеЕсли ЕстьСобытиеДва() Тогда
     СделатьДва();
КонецЕсли;

Правильно:

Если ЕстьСобытиеОдин() Тогда // всё хорошо, для редких случаев есть действие по умолчанию
    СделатьОдин();
ИначеЕсли ЕстьСобытиеДва() Тогда
    СделатьДва();
Иначе
    СделатьПоУмолчанию();
КонецЕсли;

Экранирование кода

// sonar:IfWithoutElse:off
// sonar:IfWithoutElse:on