технологический журнал - стек вызовов #693057


#0 by oleg_km
Хочу записывать все исключения, которые возникают в программе. Т.к. многие только показываются пользователям, но в журнал регистрации не пишутся. Кроме того, мне нужен стек вызовов, но у объекта ИнформацияОбОшибке его нет. Пытаюсь настроить logcfg.xml, чтобы писал все исключения с контекстами: <?xml version="1.0" encoding="UTF-8"?> Всякую лабуду пишет, а сециально в модуль вставил: а = 1 / 0; Этого нигде нет Кто занимался этим вопросом, подскажите
#1 by Maxus43
>>но у объекта ИнформацияОбОшибке его нет он есть, глубже в него сомтри отладчиком
#2 by oleg_km
Причем здесь отладчик? Мне нужно чтобы когда приложение запускает пользователь, а у него возникают какие-то необработанные исключения, чтобы они писались и со стеком вызовов.
#3 by H A D G E H O G s
В информации об ошибке есть это
#4 by H A D G E H O G s
#5 by oleg_km
Вот тестовый пример Процедура ИсклНажатие(Элемент)
#6 by H A D G E H O G s
Ну не зря же мы в моей процедуре во входных параметрах видим параметр Информация
#7 by H A D G E H O G s
А,не, понял.
#8 by H A D G E H O G s
Нет, хрень какая-то.
#9 by H A D G E H O G s
Ты мрак пишешь
#10 by oleg_km
Информация - это что? Это объект, полученный функцией ИнформациейОбОбъекте. Дальще ты рекурсивно из этого объекта разматываешь причины. Так вот, причины это не стэк. В каких-то случаях там есть информация о вышестоящих фукнциях, в большинстве ничего нет. Просто было как-то обсуждение, что пропросить от 1С. Я сказал, хочу информацию о стэке. Кто-то сказал, бери в технологическом журнале. Вот хочу понять, он просто так сказал или конкретно что-то имел ввиду В чем мрак? У меня есть функция, которая работает с файлами. Используется в стопятьсот местах программы. В ней срабатывает исключение. Как мне узнать, какой из стопятьсот вызовов привел к исключению? Я так понимаю, нужно теперь добавить стопятьсот обработок исключений к каждому вызову этой функции
#11 by H A D G E H O G s
Я так понимаю, поле Причина - заполнено для сложных ошибок, например, почти уверен, оно будет заполнено для ошибки доступа к базе после 1-ой ошибки в активной транзакции ("В данной транзакции уже происходили ошибки"). У тебя ошибка - простая - деление на 0.
#12 by oleg_km
Ну вернее даже, где-то ошибка возникла, а в другом месте ее последствия проявляются. Но все это слабо задокументировано и мне не подходит. Мне нужен надежный способ записывать все исключения в некий журнал отладки и в идеале с локальными переменными, стеком вызовов и пр. Если кто-то этим заморачивался - поделитесь.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С