Неправильное использование метода "ОтменитьТранзакцию"
При использовании транзакций необходимо предусмотреть обработку исключений, в блоке Исключение
нужно сначала вызвать метод ОтменитьТранзакцию()
, а затем выполнять другие действия, если они требуются. Соблюдение данного правила защитит от возможного выброса исключения до отмены транзакции.
Неправильно:
НачатьТранзакцию();
Попытка
ДокументОбъект.Записать();
ЗафиксироватьТранзакцию();
Исключение
ЗаписатьВЛогОшибку(); // Ошибка
ОтменитьТранзакцию();
КонецПопытки;
Правильно:
НачатьТранзакцию();
Попытка
ДокументОбъект.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию(); // Сначала отменяем транзакцию, потом делаем всё остальное
ЗаписатьВЛогОшибку();
КонецПопытки;
См. также
Экранирование кода
// sonar:WrongUsageOfRollbackTransactionMethod:off
// sonar:WrongUsageOfRollbackTransactionMethod:on