|
Номер строки в скрипте |
☑ |
0
XenoneX
02.11.23
✎
15:03
|
Может показаться странным, но нет никакой возможности получить номер строки и наименование текущего модуля, в котором написан код?
Т.е. я, например, пишу код в модуле формы "ПростаяФорма". Чтобы при вызове функции, допустим, ПолучитьНомерСтроки() функция отдавала номер строки, в котором она была записана?
Ну или на худой конец, просто название модуля, в котором она была вызвана, что-то типа того.
|
|
1
Волшебник
02.11.23
✎
15:05
|
Можно ВызватьИсключение
и в блоке Исключение вызвать ОписаниеОшибки(), там будет имя модуля и номер строки
а ещё лучше ИнформацияОбОшибке()
Свойства:
ИмяМодуля (ModuleName)
ИсходнаяСтрока (SourceLine)
НомерСтроки (LineNumber)
Описание (Description)
Причина (Cause)
|
|
2
XenoneX
02.11.23
✎
15:28
|
(1)
То есть сначала пишем:
ПОПЫТКА
ВызватьИсключение
ИСКЛЮЧЕНИЕ
ИмяТекущегоМодуля = ИнформацияОбОшибке().ИмяМодуля
КОНЕЦПОПЫТКИ;
Громоздко, но вроде должно сработать.
|
|
3
shuhard
02.11.23
✎
15:50
|
(0)[Может показаться странным]
не кажется
|
|
4
Asmody
02.11.23
✎
15:52
|
(2) Можно обернуть это в процедуру, которая будет номер строки из стека вызовов вытаскивать. Вроде даже уже было что-то подобное тут.
|
|
5
Галахад
02.11.23
✎
15:57
|
(0) Если не секрет, для чего это нужно?
|
|
6
XenoneX
02.11.23
✎
16:34
|
(5) Если в кратце, у меня в конфе есть проверки в разных местах и служебные сообщения, которые при этих проверках появляются. И вот черт его знает, когда та или иная ошибка выскочила и где ее в коде искать, если вылетела. На поиск ее уходит очень много времени (конфа-то не моя). Вот и подумал, что если буду в будущем писать такие служебные сообщения, то в конце буду вставлять, откуда в коде это прилетело, чтобы было проще искать. Как-то так.
|
|
7
Галахад
02.11.23
✎
16:43
|
(6) Понятно, спасибо. Где-то видел похожую методику, разработчик приколачивал к сообщению ГУИД.
|
|