|
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 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
vmagобычно когда тыкаешь ответить - то выскакивает напоминалка типа "а ничего что сообщению уже больше года ?"Значит, у меня всё необычно - ни разу не видел такого сообщения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 10:54 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
AkinaЗначит, у меня всё необычно - ни разу не видел такого сообщения. не, это я напутал, выходит красным уже после ответа, проверил на ветке тест, ну... тоже стимулирует, в следующий раз начинаешь задумываться... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2016, 11:01 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
А разве в vba нет конструкции try catch, в vb был вроде: Код: vbnet 1. 2. 3. 4. 5. 6.
Может сожрет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2016, 02:56 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Сергей Лалов, Try...Catch...Finally Statement для VB (Visual Basic), On Error.. для VBA (Visual Basic for Appliction). Заметил уже давно что куча всего из VB не работает на VBA... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2016, 18:02 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Casper2002Сергей Лалов, Try...Catch...Finally Statement для VB (Visual Basic), On Error.. для VBA (Visual Basic for Appliction). Заметил уже давно что куча всего из VB не работает на VBA... Да нормально работает, просто библиотеку подключить в референсах соответствующую) и объявите что в vb пишете. Тут стратегический вопрос в другом , нафиг это нужно в ms access. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2016, 02:11 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Casper2002Сергей Лалов, Try...Catch...Finally Statement для VB (Visual Basic), On Error.. для VBA (Visual Basic for Appliction). Заметил уже давно что куча всего из VB не работает на VBA... Ну ну! Эксперт. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:10 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
ROI, Это вроде форум, а не энциклопедия. С чем сталкивался тем и поделился... ИМХО. Если нужно подключать какую-то библиотеку чтобы заработал try то я бы не назвал это стандартным оператором в MS Access... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 12:09 |
|
try catch в VBA
|
|||
---|---|---|---|
#18+
Сергей ЛаловCasper2002Сергей Лалов, Try...Catch...Finally Statement для VB (Visual Basic), On Error.. для VBA (Visual Basic for Appliction). Заметил уже давно что куча всего из VB не работает на VBA... Да нормально работает, просто библиотеку подключить в референсах соответствующую) и объявите что в vb пишете. Тут стратегический вопрос в другом , нафиг это нужно в ms access. on error goto ... несколько более функциональнен чем try... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 19:40 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1613814]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 481ms |
0 / 0 |