Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 2.16 KB

empty-except-statement.md

File metadata and controls

49 lines (39 loc) · 2.16 KB

Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении

Недопустимо перехватывать любые исключения, бесследно для системного администратора.

Как правило, подобная конструкция скрывает реальную проблему, которую впоследствии невозможно диагностировать.

Неправильно

Попытка  
// код, приводящий к вызову исключения  
....  
Исключение // перехват любых исключений  
КонецПопытки;

Правильно

Попытка  
// код, приводящий к вызову исключения  
....  
Исключение  
// Пояснение причин перехвата всех исключений "незаметно" от пользователя.  
// ....  
// И запись события в журнал регистрации для системного администратора.  
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'"),  
    УровеньЖурналаРегистрации.Ошибка,,,  
    ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));  
КонецПопытки;

Подавление проверки

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

// @skip-check empty-except-statement - не отлавливаем исключение потому что...
Попытка
  ... 
Исключение
КонецПопытки;

См.