Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Есть три метода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Если вызвать метод Exec таким образом: Код: plaintext 1. 2. 3. то вместо ожидаемого кода ошибки выдает сообщение COMMAND и имя функции Exec, если же строку s OLDZTRAP =$ZTRAP, $ZTRAP ="ERR2" в Exec поставить наверх приложение совсем виснет. С чем это может быть связано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2008, 19:10 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Версия каше то какая ? Уже с 5.0.x "рекомендуется" вместо конструкции Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. Ну и функция Error странно выклядить - на кой устанавливать альтернативный к $ZTRAPобработчик $ETRAP или может быть имелось в виду $ECODE? Ну а комманд думаю генериться потому что в случае неудачи из ReturnSQLResultSet ничего не возращается - quit <value> нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2008, 07:02 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Ошибка COMMAND, вроде, возникает при невозвращении значения методом, если вы требуете от него результата выполнения (тобишь функция ни чего не возвращает). На сколько я понимаю, при возникновении ошибки вы просто обрываете метод без возвращения значения. Возвращайте лучше $$$NULLOREF или пустой ResultSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2008, 07:54 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Я бы написал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2008, 08:22 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Версия 5.012 В этом месте SQLCODE 100 тоже попадает под исключение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Работает так как надо, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2008, 10:28 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
bn1978 В этом месте SQLCODE 100 тоже попадает под исключение В этом месте лучше написать так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2008, 16:36 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Prostite 4to translitom. Ya proboval na4at polzovatsya: S $ZT="*onError". Po pri4ine tovo 4to ono sohranyaet zna4eniya vseh peremennih Posle malenkovo research ya ponyal 4to mne nuz'en budet ZQ v slu4ae DO,FOR,XCUTE... (vse 4to opuskaet uroven na stack). No ne vsegda. Vot 2 Primera: 1: zdes nelzya polzovatsya ZQ, potomu 4to vikinet menya dalshe 4em nado i KUKU ne polu4it 1. Main SET $ZTRAP="OnError1" DO SubA S KUKU=1 QUIT SubA SET $ZTRAP="*OnError" SDC //ERROR QUIT OnError QUIT 2: Zdes mne obyazarelno nuz'e ZQ ina4e zukru4us nadolgo v FOR Main SET $ZTRAP="OnError1" DO SubA S KUKU=1 QUIT SubA SET $ZTRAP="*OnError" F i=1:1:1000 d .SDC QUIT OnError ZQ 1 QUIT Kak mne bit esli ho4u ubit 2 zaitsev srazu, i ne zakrutitsya kak vol4ek v For i prodolz'it tu z'e funktsiu, i polu4it vse zna4eniya peremennih. Moz'et est voobshe drugaya doroga? Spsibo ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2008, 19:19 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Код: plaintext По поводу выхода из цикла - выходите сначала из цикла, затем после выхода из цикла проверяете, нужно ли выходить дальше и выходите дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 05:23 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Lizard777Prostite 4to translitom. Я пыжился прочесть... Но не смог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 08:52 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
krvsa Lizard777Prostite 4to translitom. Я пыжился прочесть... Но не смог Poprobuyte. Eto ne tak trudno kak kaz'etsya :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 10:27 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Да я понимаю... Но есть сайты позволяющие транслит переводить на русские буквы. Это потом хоть как-то читать можно. Этим пользуются ребята из других стран. Я просто сталкивался с таким на форуме www.oldmerin.net Вот тебе в помощь. ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 11:01 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
krvsaДа я понимаю... Но есть сайты позволяющие транслит переводить на русские буквы. Это потом хоть как-то читать можно. Этим пользуются ребята из других стран. Я просто сталкивался с таким на форуме www.oldmerin.net Вот тебе в помощь. ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT Перевод С транслита :) Я пробовал начать пользоватся: С $ZT="*onError". По при4ине того что оно сохраняет значения всех переменных После маленково research я понял что мне нужен будет ZQ в случае DO,FOR,XCUTE... (все что опускает уровень встэк). Но не всегда. Вот 2 Примера: 1: здесь нельзя пользоватся ZQ, потому что выкинет меня далше чем надо и KUKU не получит 1. Main SET $ZTRAP="OnError1" DO SubA S KUKU=1 QUIT SubA SET $ZTRAP="*OnError" SDC //ERROR QUIT OnError QUIT Здесь мне обязательно нужен ZQ иначе закручусь надолго в FOR Main SET $ZTRAP="OnError1" DO SubA S KUKU=1 QUIT SubA SET $ZTRAP="*OnError" F i=1:1:1000 d .SDC QUIT OnError ZQ 1 QUIT Как мне быть если хочу убить 2-ух зайцев сразу, и не закрутитса как волчек в FOR и продолжить ту же функцию, и получить все значения переменних. Мозьет ест вообше другая дорога? Спсибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 11:21 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Как вариант, "не закрутитса как волчек в FOR" может помочь дополнительное условие, на которое может повлиять "обработчик ошибок"... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 11:48 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
krvsaКак вариант, "не закрутитса как волчек в FOR" может помочь дополнительное условие, на которое может повлиять "обработчик ошибок"... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT Lizard777 -> Alex Bizi Да, я могу проверит значение $ESTACK в том месте где пишу $ZT и в соответствии сним делать ZQ (Y-X) когда Х ето начальный уровень ($zt) а Y конечный, в lable onERROR. Но ето помоиму чесать правое ухо левой рукой! Нет? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 11:54 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Alex BiziНо ето помоиму чесать правое ухо левой рукой! Нет? Х/З... Но хоть какой-то вариант решения у тебя уже будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 11:59 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
krvsa Alex BiziНо ето помоиму чесать правое ухо левой рукой! Нет? Х/З... Но хоть какой-то вариант решения у тебя уже будет... До таково решения я и сам гаразд :) Я думал ест мозьет чтото лучше. Спасибо и на етом. :) P.S. что такое Х/З...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:02 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Может быть я не до конца понял, в чем проблема? Делать выход из процедуры, находясь в цикле? 1. делать сначала выход из цикла, затем на выходе из цикла анализировать состояние переменных цикла и при необходимости делать выход из процедуры. 2. делать выход из цикла с помощью goto на метку перед выходом из процедуры. Понятное дело, не всегда это хорошо, но при каких-то сильно страшный циклах так бывает красивее, чем делать многоступенчатый выход из цикла. Но при чем тут обработчик ошибок? Я что-то не понял в постановке вопроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:49 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Alex Biziчто такое Х/З...? Мягкая транскрипция "хто его знает"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 13:59 |
|
||
|
Обработка ошибок
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Может быть я не до конца понял, в чем проблема? Делать выход из процедуры, находясь в цикле? 1. делать сначала выход из цикла, затем на выходе из цикла анализировать состояние переменных цикла и при необходимости делать выход из процедуры. 2. делать выход из цикла с помощью goto на метку перед выходом из процедуры. Понятное дело, не всегда это хорошо, но при каких-то сильно страшный циклах так бывает красивее, чем делать многоступенчатый выход из цикла. Но при чем тут обработчик ошибок? Я что-то не понял в постановке вопроса? Попробуйте запустить ету программу через debuger. Main SET $ZTRAP="OnError1" DO SubA S KUKU=1 QUIT SubA SET $ZTRAP="*OnError" F i=1:1:1000 d .SDC QUIT OnError ZQ 1 QUIT Теперь сотрите ZQ 1. После OnError вас закинет обратно в For. Я же хочу вилететь на строку S KUKU=1 (как с обычным $ZT без *). Надеусь будет понятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 14:29 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=35542061&tid=1558740]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 366ms |

| 0 / 0 |
