|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
в операторе Код: sql 1.
можно как-то получить номер строки процедуры в которой произошла ошибка?? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 19:36 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m, ШТО??? а в Дельфи или C++ можно "номер строки" получить? Код процедуры или триггера (и вообще всего) компилируется в байт-код, называемый BLR. В нём нет строк. Это вам не Basic :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 19:45 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
NON$CALL_STACK попробуй. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 19:50 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
kdv m7m, ШТО??? а в Дельфи или C++ можно "номер строки" получить? Код процедуры или триггера (и вообще всего) компилируется в байт-код, называемый BLR. В нём нет строк. Это вам не Basic :-) В C++ - можно. На этапе компиляции. Макрос assert, например. Ну и если обзаботиться специальной сборкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 20:34 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
ёёёёё, ну, это да. но тут - вряд ли. Тем более, речь идет про номер строки при обработке ошибки в этом же коде. Нафига это надо - я не представляю. В PSQL Firebird ошибки бывают только рантаймовые, синтаксических нет, потому что всё уже скомпилировано. Поэтому область появления ошибок может быть идендифицирована достаточно четко. Особенно если прочитать http://www.ibase.ru/savepoints/ Понятно, что в when any do может прилететь что угодно, что происходило до того. Но в любом случае, для обработки ошибок даже в таком месте всё равно надо знать, что может происходить ДО этого самого when any. А автор вопроса про when any не спрашивал. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 20:47 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m, а зачем именно в операторе ? Клиенту приходит ошибка и, по возможности полный, стек вызовов (с номерами строк), к ней приведший. Или нужно именно в PSQL ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 20:49 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
hvlad m7m, а зачем именно в операторе ? Клиенту приходит ошибка и, по возможности полный, стек вызовов (с номерами строк), к ней приведший. Или нужно именно в PSQL ? Да именно в PSQL А вот по поводу зачем Есть куча лицевых счетов и соответственно процедуры расчета услуг Расчет проводится для определенной выборки (по некоторым признакам) лицевых счетов при этом дабы ошибки во время выполнения расчета лицевого счета не "мешали" расчету остальных они "блокируются" оператором When ... Do с записью некоторой информации в лог. Поскольку процедуры достаточно громоздкие то номер строки процедуры облегчил-бы поиск места возникновения, ну и соответственно дальнейшее исправление ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 21:42 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m, Для этого люди придумали декомпозицию как краеугольный камень процедурного программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 22:26 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m, допустим, вы это же самое пишете в Дельфи. И там try except end/try finally end. И нет номеров строк. Ваши действия? Наверное, правильно расположить блоки try except? Или же вылавливать НОМЕР СТРОКИ процедуры, который будет забиваться вами в код вручную? Что за безумная идея? Ну добавит кто-нибудь потом еще одну строку, и будет N+1, и ваш when нихрена не сработает. Ё-моё, это же программирование, оно не так работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 22:33 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov NON$CALL_STACK попробуй. Спасибо Попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 23:37 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
kdv m7m, допустим, вы это же самое пишете в Дельфи. И там try except end/try finally end. И нет номеров строк. Ваши действия? Наверное, правильно расположить блоки try except? Или же вылавливать НОМЕР СТРОКИ процедуры, который будет забиваться вами в код вручную? Что за безумная идея? Ну добавит кто-нибудь потом еще одну строку, и будет N+1, и ваш when нихрена не сработает. Ё-моё, это же программирование, оно не так работает. Ты не поверишь. Мало того, что с номерами строк, так еще и с автоматическим показом точки бага в исходниках. И даже смс-ку на мобилу разработчика пришлёт. И даже не под дебаггером. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 23:47 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
Vlad F m7m, Для этого люди придумали декомпозицию как краеугольный камень процедурного программирования. и какое это отношение имеет к заданному вопросу kdv, Зачем три раза писать об одном и том-же я с первого раза понял, что вам это не нравится, и вы считаете такой подход неправильным мне нужен просто ответ на мой вопрос ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 23:50 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m Dimitry Sibiryakov NON$CALL_STACK попробуй. Спасибо Попробую Попробовал Однако в моем случае это не то Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
выдает номер строки в которой этот самый "select ....... from Mon$Call_Stack C" и есть что при некотором размышлении вполне ожидаемо а мне нужна именно строка на которой произошла ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 00:11 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
А если весь стэк пройти? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 01:01 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
m7m Vlad F m7m, Для этого люди придумали декомпозицию как краеугольный камень процедурного программирования. и какое это отношение имеет к заданному вопросу Разбей свои "достаточно" громоздкие" на ряд более мелких и локализация ошибок выполнения станет намного проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 08:31 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А если весь стэк пройти? Да та же самая история выдает стек вызовов с номерами строк однако по прежнему для процедуры в которой произошла ошибка номер строки указывает на строку обработки ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 10:38 |
|
Обработка ошибок в PSQL
|
|||
---|---|---|---|
#18+
Vlad F Разбей свои "достаточно" громоздкие" на ряд более мелких и локализация ошибок выполнения станет намного проще. К моему сожалению: 1. это сейчас не реально 2. не решает поставленную мной передо мной задачу ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 10:41 |
|
|
start [/forum/topic.php?fid=40&msg=39887744&tid=1560523]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 268ms |
total: | 486ms |
0 / 0 |