КатегорияОшибки

Темы платформы · ErrorCategory

Содержит варианты категории ошибки.

Полное описание, параметры и ограничения

КатегорияОшибки (ErrorCategory)

КатегорияОшибки (ErrorCategory)

Доступен, начиная с версии 8.3.17.

Значения
ВсеОшибки (AllErrors)
ИсключениеВызванноеИзВстроенногоЯзыка (ExceptionRaisedFromScript)
НарушениеПравДоступа (AccessViolation)
НеподдерживаемыйФормат (UnsupportedFormat)
НеправильныйПароль (InvalidPassword)
ОтсутствиеРазрешенияДляИспользованияФункциональности (NoPermissionToUseFunctionality)
ОшибкаВнешнегоИсточникаДанных (ExternalDataSourceError)
ОшибкаВоВремяВыполненияВстроенногоЯзыка (ScriptRuntimeError)
ОшибкаДоступаКЛокальномуФайлу (LocalFileAccessError)
ОшибкаИспользованияВстроенногоЯзыка (ScriptUseError)
ОшибкаКомпиляцииВстроенногоЯзыка (ScriptCompileError)
ОшибкаКонфигурации (ConfigurationError)
ОшибкаКопииБазыДанных (DatabaseCopyError)
ОшибкаНастроекКомпоновкиДанных (DataCompositionSettingsError)
ОшибкаПереходаПоНавигационнойСсылке (GotoURLError)
ОшибкаПолнотекстовогоПоиска (FullTextSearchError)
ОшибкаПреобразованияДокумента (DocumentConversionError)
ОшибкаПроверкиПодписи (SignatureVerificationError)
ОшибкаРаботыСПринтером (PrinterError)
ОшибкаРаботыСРечью (SpeechProcessingError)
ОшибкаСеанса (SessionError)
ОшибкаСети (NetworkError)
ОшибкаСистемыВзаимодействия (CollaborationSystemError)
ОшибкаСредствМультимедиа (MultimediaToolsError)
ОшибкаТабличногоПространстваБазыДанных (DatabaseTablespaceError)
ОшибкаХранимыхДанных (StoredDataError)
ПринудительноеЗавершениеРаботы (ForcedShutdown)
ПрочаяОшибка (OtherError)

Описание:

Содержит варианты категории ошибки.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Возможен обмен с сервером. Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен http://v8.1c.ru/8.2/data/bsl/. Имя типа XDTO: ErrorCategory.

Использование в версии:

Доступен, начиная с версии 8.3.17.

Описание изменено в версии 8.3.27.

Методическая информация

Практические примеры

Получить содержательное описание намеренной ошибки

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

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Ошибки намеренно создаются на вымышленных значениях в учебной базе; файлы и рабочие данные не используются.

  2. ИнформацияОбОшибке и ОписаниеОшибки вызываются внутри Исключение, а не вне обработчика.


Сумма = 250;
Количество = 0;
Попытка
    Среднее = Сумма / Количество;
    Сообщить(Среднее);
Исключение
    Ошибка = ИнформацияОбОшибке();
    Сообщить(ОписаниеОшибки());
    Сообщить(КраткоеПредставлениеОшибки(Ошибка));
    Сообщить(ПодробноеПредставлениеОшибки(Ошибка));
    Сообщить("Описание: " + Ошибка.Описание);
    Сообщить("Модуль: " + Ошибка.ИмяМодуля);
    Сообщить(СтрШаблон("Строка %1: %2", Ошибка.НомерСтроки, Ошибка.ИсходнаяСтрока));
    Сообщить("Код: " + Ошибка.Код);
    Сообщить("Дополнительная информация: " + Ошибка.ДополнительнаяИнформация);
    Сообщить(Ошибка.ЯвляетсяОшибкойКатегории(КатегорияОшибки.ВсеОшибки));
    Если Ошибка.Причина <> Неопределено Тогда
        Сообщить("Причина: " + Ошибка.Причина.Описание);
    Иначе
        Сообщить("Отдельная вложенная причина не задана");
    КонецЕсли;
КонецПопытки;

Разбор по шагам

  1. Деление на ноль заставляет управление перейти в Исключение; Среднее не является успешным результатом.

  2. Сразу получаем объект ИнформацияОбОшибке и его текстовые представления.

  3. Отделяем описание для пользователя от технических сведений о модуле и строке.

  4. Код и дополнительная информация могут быть пустыми. Причину проверяем на Неопределено перед чтением свойств.

Как проверить результат

  1. Количество=0 приводит к сообщениям об ошибке, а не к значению средней цены 0.

  2. НомерСтроки указывает место в вашем модуле; он не обязан совпадать с номером строки HTML-примера.

  3. Проверка категории ВсеОшибки даёт Истина. Измените количество на 2: выводится 125, обработчик ошибки не выполняется.

Ожидаемый результат

Ошибка диагностирована на контролируемом входе; успешный результат не подменён фиктивным нулём.

На что обратить внимание

  1. Полный текст и исходная строка могут раскрывать секреты или личные данные — в рабочем приложении разделяйте пользовательское сообщение и защищённый технический журнал.

  2. Не сравнивайте локализованный текст ошибки для бизнес-логики. Для специально маркированных ошибок используйте согласованный код или категорию.

  3. Здесь ошибка поглощена ради просмотра диагностики. В реальной операции её нужно вернуть как явный статус либо передать вызывающему коду.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.