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

Использование унарного плюса в конкатенации строк

При конкатенации строк в выражениях, разработчик может намеренно или случайно написать два плюса подряд. Второй плюс будет преобразован 1С в унарный плюс, что приведет к попытке привести второй аргумент выражения к числу, которая может привести к ошибке времени выполнения.

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

Процедура СоединитьСтроки()
    Результат = "Один" ++ "Два"; // ошибка
КонецПроцедуры

Правильно:

Процедура СоединитьСтроки()
    Результат = "Один" + "Два";
КонецПроцедуры

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

// sonar:StringUnaryExpr:off
// sonar:StringUnaryExpr:on