Журналирование ошибок в прикладном коде 1с. Стек вызовов

1c

#1

Вопрос к опытным разработчикам. Как обрабатывать исключительные ситуации в коде 1с и сохранять их в журнал для последующего анализа?
Такой вещи как стек вызовов программно я не нашел как получить.

Допустим есть функция ОбщийМодуль.ВалидацияДанныхДляОбенаСЧемто.ПроверитьВходящиеДанныеИз(Данные)

К этой функции я обращаюсь с N мест для проверки. Произошла ошибка в логике, данные оказались не верны и я записываю событие.
Как анализировать данное событие без стека? или его как-то хитро можно получить?


#2

логируйте и пробрасывайте эксепшен выше. и выше при необходимости тоже логируйте.

или вообще не логируйте внизу, а просто кидайте эксепшен наверх и дальше с ним разбирайтесь.


#3

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


#4

Может кто-то может написать “наверх” плюсовикам на форум пожелание чтоб добавили программное получение стека вызовов. К сожалению низшим формам 1с программистам (без партнерки), таким как я, нет доступа к системе обратной связи с разработчиками платформы.

Или я про нее просто не знаю.


#5

Вы можете рекурсивно анализировать объект ИнформацияОбОшибке - у него есть свойство Причина, которое содержит информацию о причине для данной ошибки.