Найти номер строки в модуле. #714538


#0 by InSoulRock
Здравствуйте! Заранее извиняюсь, только учусь, прошу строго не судить. Возникла мысльзадался вопросом, формировать себе задачу при срабатывании определенного условия, чтобы отследить исключения при выполнении кода, и не только. Задачу формирую, с этим проблем нет, но как мне получить номер строки и название модуля? Что то типа ОписаниеОшибки, в которой есть эта информация. Спасибо что дочитали хотя бы)
#1 by Rebelx
ИнформацияОбОшибке
#2 by Maxus43
дочитал, пожалуйста. В ОписанииОшибки эта информация есть, но это когда используешь Попыка-Исключение
#3 by InSoulRock
Да, а я планирую использовать это не только в попытка - исключение. ИнформацияОбОшибке я так понимаю тоже будет заполнена если есть ошибка. Но ошибки может и не быть.
#4 by Maxus43
ИнформацияОбОщибке - показывает только при наличии ошибки
#5 by InSoulRock
Перефразирую, на примитивном примере.
#6 by InSoulRock
Возможно ли получить как то? Номер строки, модуль.
#7 by Maxus43
нет
#8 by Maxus43
#9 by silent person
не понял а где тут ошибка ? может ВызватьИсключение поможет ?
#10 by Maxus43
деление на 0
#11 by Maxus43
#12 by InSoulRock
Вы на сообщение в коде внимание не обращайте, ошибки быть и не может.
#13 by f_vadim
Я иногда пишу код ошибки, потом поиском можно найти Скажем так: Сообщить("Произошла ошибка!!! Код 0х0000001");
#14 by InSoulRock
то есть можем только через исключение, хм...
#15 by InSoulRock
Громоздко получится
#16 by Rebelx
не гуд. Если Результат.Количество > 1 Тогда     ВызватьИсключение("Ошибка логики: результат запроса пустой");
#17 by Rebelx
+ в смысле - "результат запроса не пустой"
#18 by hhhh
ну а так       Сообщить("МОдуль такой то строка такая-то")
#19 by InSoulRock
к этому я и пришел, передавать название модуля и номер строки вручную, явно.
#20 by InSoulRock
а в процедуре этой, формирую задачу и отправляю себе.
#21 by Maxus43
дак твой гуд - прервёт выполнение программы, если исключение не в Попытке. А оно надо? я вот вангую что нет
#22 by sirsp
А вставишь строки перед этим, до решения "задачи"?
#23 by f_vadim
делов-то, пройтись по всему модулю, да исправить. А уж кто будет после сопровождать, так вообще подивится мастерству и изысканным решениям разработчика.
#24 by sirsp
Дык нафэйхоа тогда номер строки? :)
#25 by mikecool
в отладке указать "останавливаться по ошибке"
#26 by Defender aka LINN
Угу. У Мелкософта, вон, тоже, на каждый чих по коду ошибки. Правда, почему-то, если что и находится - то только "Неизвестная ошибка".
#27 by InSoulRock
ну а вдруг в модуле несколько вставок _НарезатьЗадачу :). Вопрос этот встал потому что пользователи мягко говоря забивают на сообщенияпредупреждения.
#28 by f_vadim
Код ведь не для пользователя, а для разработчика.
#29 by f_vadim
Дрессируй. Пусть к заявкам скрины прикладывают.
#30 by РенеДекарт
1С - это не Бейсик. Так что - пользуйтесь тем, что есть.
#31 by InSoulRock
заявки они не формируют. Она автоматически прилетает ко мне когда выполняется условие.
#32 by sirsp
Я к тому, что в случае активного изменения кода, ты строку по номеру не идентифицируешь!
#33 by f_vadim
ну отсылай какой-нибудь код, по нему глобальным поиском можно найти.
#34 by InSoulRock
кстати ты прав
#35 by f_vadim
Опять же, если ты прогнозируешь появление ситуации, которая предусматривает вмешательство разработчика, что мешает предусмотреть заранее обработку исключений или вообще не допускать их возникновения?
#36 by InSoulRock
в первом посту я писал что начинающий) я не могу всего предусмотреть в силу не опытности, а пользователи забивают на сообщения часто.
#37 by f_vadim
По-моему, проблема высосаного яйца не стоит. Получается, что, несмотря на ошибки, пользователь получает какой-то результат. И на корректность забивает. А ты такой ниндзя втихаря всё поправил. Может не давать пользователю ничего? Может просто прекращать выполнение и выдавать сообщение "исключительная ситуация. пригласите разработчика"?
#38 by InSoulRock
тот же модуль могут переименовать, а потом не найдешь. задумка тает(
#39 by f_vadim
глобальный поиск по "0х00110011" найдёт тебе даже переименованном модуле.
#40 by InSoulRock
а если у меня не одна такая вставка будет? вести учет? 0х00110011 использовал для такого то, 0х00110101 использовал для такого то.
#41 by f_vadim
тьху блин, голову включай. Во-первых, сообщение в любом случае должно содержать максимум информации. Подумай о тех пользователях, кто всё-таки будет читать сообщения, и тех, кто будет сопровождать твою поделку после тебя. Коды можно сделать уникальными в пределах модуля и добавить префикс с названием модуля, типа "ОбщегоНазначенияКлиентСервер_001"
#42 by InSoulRock
Ладно, спасибо всем за ответы.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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