|
try catch в VBA
|
|||
---|---|---|---|
#18+
В С++ есть такая тема, как локальный отлов ошибок (try {...} catch (...) {...}) Есть ли такая же возможность в VBA? Мне нужно отловить возможную ошибку в небольшой части кода. Если ошибка обнаружена, то надо выполнить определённые действия, после чего продолжить выполнение кода, расположенного после ошибочного куска. Это как-нибудь можно сделать? _____________________________ Использую Access 2003, mdb ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 08:55 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
авторOn Error А можно привести пример кода? Так чтобы ошибка искалась только в определённом участке кода, и нигде больше. _____________________________ Использую Access 2003, mdb ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 10:24 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
код............. код............. On Error Goto Метка код с проверкой код с проверкой Метка: Обработка ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 10:34 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
А что произойдёт, если ошибки не будет? Он же просто пройдёт участок кода Код: plaintext 1.
_____________________________ Использую Access 2003, mdb ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 10:56 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Это же не рабочий код. Конечно, существуют обходы, типа Goto, Exit Sub и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 11:14 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Код: plaintext
Так вот я и просил пример РАБОЧЕГО кода, который бы мог подойти в моей ситуации...;-))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 11:41 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 11:51 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
зоздай на форме кнопку при помощи мастера и у тебя будет код ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 11:52 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Karfaqen Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
ужоснах над строкой "32 + vbYesNo" - плакаль... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 11:56 |
|
try catch в VBA
|
|||
---|---|---|---|
#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.
Так вот... Мне нужно, чтобы сообщение Код: plaintext
появлялось только в том случае, если ошибка возникла ТОЛЬКО в куске кода Код: plaintext 1.
Потому что, если какая-нибудь ошибка возникнет здесь: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
тогда её уже нельзя будет назвать "Ошибка SELECT-запроса"! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 12:12 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
2 Самурай Скажите, а какая в Японии официальная религия? В смысле - она что, запрещает читать хелп? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 12:19 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Хэлп-то она читать не запрещает!))))) Просто в хэлпе по этому поводу ничего толкового я не смог найти. Даже если пробую проверять таким образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
ТО мне выдаётся сообщение "Ошибка во введённом SELECT-запросе: Division by zero", хотя деление на 0 было инициировано ПОСЛЕ проверки корректности запроса! _____________________________ Использую Access 2003, mdb ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 12:51 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Век живи, век учись! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 12:59 |
|
try catch в VBA
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 13:00 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Drunechka и Программист-Любитель ОГРОМНОЕ СПАСИБО!))) Теперь всё работает так, как нужно!)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2007, 13:12 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
использовать GoTo в 21 веке? это не язык программирования, это чудовище ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 08:57 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
guest123123222использовать GoTo в 21 веке? это не язык программирования, это чудовище спагетти можно сварить и без GOTO еще круче получится ------------- всегда применяла GOTO для выхода на конец процедуры или обработку ошибок причем задолго до того, как прочитала про структурное программирование ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 09:15 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
guest123123222использовать GoTo в 21 веке? Потрясающая глупость... а если бы синтаксис требовал другого литерала? например ON ERROR EXECUTE FROM label ? язык бы подходил для 21 века? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:01 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
guest123123222использовать GoTo в 21 веке? это не язык программирования, это чудовище а критиковать посты десятилетней давности, даже не замечая этого - ещё хуже... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:05 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
vmagа критиковать посты десятилетней давности, даже не замечая этого - ещё хуже... Претензии - к движку форума. У него бывают заскоки, и он в списке обновлённых сообщений совершенно безосновательно отображает древние темы. Отвечающий редко начинает просмотр темы с изучения дат публикации сообщений - обычно читают сами сообщения, и, если от контента не веет древностью, на даты вообще не смотрят. Сам пару раз так прокалывался. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:08 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Akina, а может и от браузера зависит и от внимательности... обычно когда тыкаешь ответить - то выскакивает напоминалка типа "а ничего что сообщению уже больше года ?" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:23 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Akina, а может и от браузера зависит и от внимательности... обычно когда тыкаешь ответить - то выскакивает напоминалка типа "а ничего что сообщению уже больше года ?" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:23 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
vmag, хотя да, движок поддает - один раз нажал отправить... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:25 |
|
|
start [/forum/topic.php?fid=45&startmsg=34646480&tid=1613814]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 327ms |
total: | 485ms |
0 / 0 |