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

Недопустимая категория исключений (BadExceptionCategory)

  • Тип: Дефект кода
  • Важность: Информационный
  • Включена по умолчанию: Да
  • Теги: badpractice

Описание диагностики

Недопустимо использование абстрактных, общих или системных категорий ошибок при генерации исключений в функциональной форме ВызватьИсключение (или Raise).

Указание таких категорий, как ВсеОшибки, ПрочаяОшибка или базовых категорий ошибок встроенного языка, размывает семантику исключения. Это лишает вызывающий код возможности корректно классифицировать проблему, логировать её в специализированные каналы или настраивать точечную обработку (например, повтор операции при временных сбоях связи).

Вместо общих групп всегда следует выбирать максимально точные прикладные категории ошибок (например, КатегорияОшибки.ОшибкаКонфигурации, КатегорияОшибки.НедопустимоеЗначениеПараметра и т.д.).

Диагностика проверяет второй параметр оператора и сообщает о нарушении, если там указана одна из следующих запрещенных категорий: * ВсеОшибки / AllErrors * ПрочаяОшибка / OtherError * ОшибкаКомпиляцииВстроенногоЯзыка / ScriptCompilationError * ОшибкаВоВремяВыполненияВстроенногоЯзыка / ScriptRuntimeError * ИсключениеВызванноеИзВстроенногоЯзыка / ScriptRaisedException

Примеры

Неправильно

// Использование слишком общей или абстрактной категории ошибки
ВызватьИсключение("Не удалось подключиться к сервису", КатегорияОшибки.ВсеОшибки);
Raise("Invalid data format", ErrorCategory.OtherError);
Правильно
// Указание конкретной прикладной категории ошибки
ВызватьИсключение("Не удалось подключиться к сервису", КатегорияОшибки.Сеть);
Raise("Invalid data format", ErrorCategory.ConfigurationError);

Источники

Источник: 1С:Предприятие 8.3.21. Документация. Глава 4. Встроенный язык. 4.6.10.2. Вызвать исключение

Соответствие стандартам

Нет подтверждённых связей со стандартами.

Источник диагностики