Для одной проверки используйте короткие методы ДиагностикаОшибок:
Если ДиагностикаОшибок.Содержит(Ошибка, "network.timeout") Тогда
Сообщить("Найден сетевой таймаут");
КонецЕсли;
Снимок = ДиагностикаОшибок.НайтиПервую(Ошибка, "network.timeout");Если нужно выполнить несколько запросов, создайте разбор через
ДиагностикаОшибок.Разобрать: он один раз просмотрит физическую
цепочку и сохранит материализованные снимки распознанных свойств кадров.
Для проверки наличия получите выборку через Разбор.Ошибки() и используйте Содержит()
для одного кода или СодержитЛюбойИз() для CSV-списка либо массива кодов:
Разбор = ДиагностикаОшибок.Разобрать(Ошибка);
Если Разбор.Ошибки().Содержит("network.timeout") Тогда
Сообщить("Найден сетевой таймаут");
КонецЕсли;
Если Разбор.Ошибки().СодержитЛюбойИз("database.timeout, network.timeout") Тогда
Сообщить("Найден один из таймаутов");
КонецЕсли;Отобрать() возвращает новую неизменяемую ВыборкаОшибок.
Первый снимок результата можно получить методом Первая():
Коды = Новый Массив;
Коды.Добавить("database.timeout");
Коды.Добавить("network.timeout");
Выборка = Разбор.Ошибки().Отобрать(Коды);
Для Каждого Снимок Из Выборка.Снимки() Цикл
Сообщить(Снимок.КодОшибки() + ": " + Снимок.Сообщение());
КонецЦикла;Коды можно передавать строкой CSV, Массив или ФиксированныйМассив. В строке коды
разделяются запятыми, пробелы рядом с запятыми игнорируются. Регистр не учитывается.
Результат содержит снимки в физическом порядке от внешнего кадра к корневому. Исходную
ИнформацияОбОшибке можно получить через Снимок.ИсходнаяОшибка(). Если совпадений нет,
возвращается пустая выборка.
Разбор также предоставляет:
Снимки()- снимки всех физических кадров;Ошибки()- только классифицированные ошибки;Контексты()- контекстные кадры;ЭффективнаяОшибка()- первая распознанная ошибка;КорневаяПричина()- корень полностью просмотренной цепочки;ЦепочкаУсечена()- признак непросмотренной причины.
Подробное описание методов см. в РазборОшибки.