Вход | Регистрация
 

В 8.3.15 появился стек ошибок

В 8.3.15 появился стек ошибок
Я
   Tonik992
 
13.10.19 - 20:45
Появился стек ошибок, а как из ИнформацияОбОшибке() его вытащить - не понятно. В свойствах есть информация только о номере строки текущего модуля.
ПодробноеПредставлениеОшибке(ИнформацияОбОшибке()) - покажет полный стек ошибки, что очень странно.

Незадокументированная фича или что я делаю не так? Как выскребсти полный стек ошибок программным способом?
 
 
   Tonik992
 
1 - 13.10.19 - 20:46
Выскребсти так, чтобы он был в структурированном виде, как при вызове метода ИнформацияОбОшибке()
   H A D G E H O G s
 
2 - 13.10.19 - 21:08
Ну обойди рекусривно
   Tonik992
 
3 - 13.10.19 - 21:12
(2) Не понял идею.
   ПросТак
 
4 - 13.10.19 - 21:16
(3)Трангессивным способом.
   H A D G E H O G s
 
5 - 13.10.19 - 21:17
ИнформацияОбОшибке (ErrorInfo)
Причина (Cause)
Использование:
Только чтение.
Описание:
Тип: ИнформацияОбОшибке, Неопределено.
Содержит информацию о причине для данной ошибки. Если таковой не было, то Неопределено.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер).
Использование в версии:
Доступен, начиная с версии 8.1.
   H A D G E H O G s
 
6 - 13.10.19 - 21:18
Доступен, начиная с версии 8.1.
   Tonik992
 
7 - 13.10.19 - 21:19
(5) в свойстве "Причина" - Неопределено.
Неопределено как в самом "низу" стека, так и в самом верху.
   H A D G E H O G s
 
8 - 13.10.19 - 21:29
(7) Попробуй записать свойство ИнформацияОбОшибке в переменную и потом уже смотреть в отладчике, ну или выведи в Сообщить()
   Tonik992
 
9 - 13.10.19 - 21:36
(8) Все это проделал. Неопределено в любом случае.

Примерный стек вызова:
МодульДокумента -> ОбщийМодуль1.Операция1() -> ОбщийМодуль2.Операция2() -> ОбщийМодуль3.Операция3()

В процедура ОбщийМодуль3.Операция3() возникает ошибка "Поле объекта не обнаружено".
В модуле объекта, в исключении, ИнформацияОбОшибке() отображает место возникновения ошибки в ОбщийМодуль3.Операция3(). Стека не видно, а в свойстве "Причина" через Сообщить() не выводит ничего.
   Tonik992
 
10 - 13.10.19 - 21:42
ПодробноеПредставлениеОшибке(ИнформацияОбОшибке()) показывает прекрасную картину:

Поле объекта не обнаружено (ошибка)
{ОбщийМодуль.Расчет2.Модуль(57)}: тест = Запись.ошибка;
{ОбщийМодуль.Расчет.Модуль(49)}: Расчет2.вложение1(Запись);
{Документ.ВводПроизвольныхНачисленийИУдержаний.МодульОбъекта(29)}: Расчет.РассчитатьЗаписи(Ссылка);

Видимо это новшество пока только в таком виде можно использовать.
   RomanYS
 
11 - 13.10.19 - 21:49
(10) Норм. В совместимости работает?
   Tonik992
 
12 - 13.10.19 - 21:58
(11) Да, даже с 8.3.10 работает.
   Tonik992
 
13 - 13.10.19 - 22:00
(11) Это не просто норм. Это даже словами не описать.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.