-
Notifications
You must be signed in to change notification settings - Fork 6
Fix #7. Добавлен вывод стек-трейса при исключении #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@EvilBeaver тесты падают с таким вот странным эксепшеном (приходяшим из движка - точнее рефлектора) |
Да, лучше повысить требования к версии |
|
А подробное представление ошибки не подойдет вместо использования стека вызовов? Правда, здесь движковые ошибки могут прилетать. |
|
Предлагаю код чуть-чуть упростить - вместо ручного слияния строк в конце использовать тот же массив СтекТрейс СтекТрейс = Новый Массив;
СтекТрейс.Добавить(ТекстИсключения);
СтекТрейс.Добавить("Стек трейс:");
Для Каждого КадрСтекаВызовов Из СтекВызовов Цикл
...
КонецЦикла;
ВызватьИсключение СтрСоединить(СтекТрейс, Символы.ПС); |
|
Я думал об этом, но тогда имя переменной врет. Надо либо её переименовывать, либо оставлять как есть. |
|
Подробное представление ошибки не отдает стек трейс, емнип. Максимум дерево причин (из информации об ошибке) |
Переименовать легче по принципу бойскаута |
недавно добавлялся метод ПодробноеПредставление (или что-то подобное), который как раз и показывает стек-трейс движка. мне @EvilBeaver показывал как раз для ассертов - кажется, Формат или другой метод падал, и на основании стек-трейса я смог сделать исправляющий пулл-реквест |
|
@EvilBeaver ты понимаешь, о чем Артур? @artbear вроде концептуально смысл пр это не поменяет, да? Переменную поправлю только завтра уже. |
ПолучитьСтекВызовов доступна только в 1.0.21
|
@artbear готово. |
|
@nixel2007 я не очень понял.. Какое-то исключение откуда-то прилетает? Надо что-то фиксить в движке? |
Нет, метод ПодробноеОписаниеОшибки / DetailedDescription() был всегда и он показывает стектрейс уровня C#, не 1С. Поведение 1С-ного метода |
@EvilBeaver да. попробуй запустить тестирование через 1testrunner -runall tests. словишь эксепшен как у меня. вероятнее всего в мастере/девелопе тоже вылетит, т.к. я не менял код, который падает. |
@EvilBeaver @nixel2007 Подозреваю, что подробное представление стек-трейса полезно не только для утверждений текущего пакета, но и в других случаях, пакетах, скриптах. Предлагаю добавить показ стек-трейса 1С в одном из методов движка. Например, к методу ПодробноеОписаниеОшибки / DetailedDescription() в дополнение к стеку C# |
Выглядит вот так:

При желании можно обернуть на проверку версии оскрипта (метод ПолучитьСтекВызовов есть только в 1.0.21 и новее), либо явно повысить требуемую версию движка (что предпочтительнее)