Новое правило "Использование конструкции Попытка/Исключение для приведения значения к типу"

sonar-bsl-plugin

#1

Неправильно использовать исключения для приведения значения к типу. Для таких операций необходимо использовать возможности объекта ОписаниеТипов.

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

Попытка
 КоличествоДнейРазрешения = Число(Значение);
Исключение
 КоличествоДнейРазрешения = 0; // значение по умолчанию
КонецПопытки;

Правильно:

ОписаниеТипа = Новый ОписаниеТипов("Число");
КоличествоДнейРазрешения = ОписаниеТипа.ПривестиЗначение(Значение);

Очень полезное правило. Часто встречал такой код.

Пункт 3.7 ИТС - Стандарт “Перехват исключений в коде” https://its.1c.ru/db/v8std#content:2149184148:hdoc

Примеры из типовых:


SonarQube 1C (BSL) - Выпуск релиза 1.13
#2

Что скажете?


#3

Еще


#4

Круто, полезно!


#5

Давно собирался реквистировать такое! Крутое правило.


#6

Это мы продолжаем закрывать тему с обработкой исключений.

Уж слишком часто разработчики неверно используют перехват исключений

и статья на хабре от @EvilBeaver по транзакциям, и новые правила в последних и новых релизах!


#7

Спасибо Леха, что меня похвалил. Очень приятно. Я честно слово старался.:sunglasses: