|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Проблема в следующем. Когда встречается первая строка с ложным путем к файлу - все отрабатывается как надо... Когда появляется еще одна такая же запись выполнение скрипта останавливается и выпадает Runtime Error: 53. File not found - (это я и без него знаю...) Как я понял причина в том, что счетчик ошибки не сбрасывается, так как я нахожусь внутри процедуры... Как сделать так, чтобы я его мог сбросить спокойно? Код: vbnet 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. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 11:02 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Может подскажете какую функция для проверки наличия файла ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 11:05 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Пока сделал так - подскажите более разумное решение. Код: vbnet 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. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 11:10 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Пока сделал так.. Подскажите более разумное решение... Код: vbnet 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. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 11:13 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
p0oh!, Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 11:47 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
О как. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 12:51 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Shocker.Prop0oh!, Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь не обязательно, всё зависит от логики обработчика и от структуры вызовов ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 12:56 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Konst_OneShocker.Prop0oh!, Обработчик ошибки должен заканчиваться оператором Resume, а у тебя получается, что обработчик не закончил свою работу, а ты в нем уже новую ошибку генеришь не обязательно, всё зависит от логики обработчика и от структуры вызовов ну хорошо, дополню - "...либо выходом из процедуры." нельзя циклически вызывать ошибку, не сделав Resume ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 13:10 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
можно принудительно сделать Err.Clear или вызвать свой Err.Raise или On Error Resume Next > On Error Goto 0 и тд и тп GOTO тже никто не отменял . вариантов полно, всё зависит от логики, которую нужно реализовать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 13:12 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Konst_One, можно поподробнее про конструкцию с принудительным сбросом. Логика такая: При ошибке следующего блока: [блок] выполнить действие: [действие] и сбросить ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 13:22 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
p0oh!, в твоем случае лучше так, наверное Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
тогда не надо заморачиваться с обработчиком ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2011, 13:35 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
p0oh!, прощще всего не изменяя алгоритма выделить команду с ошибкой, то бишь FileDateTime(Cells(inx, 2) в отдельную фнкцию, которая при отсутствии файла будет возвращать пустую строку, а поскольку обработчик ошибки будет в другой функции проблемы со вторым вызовом исчезнут. ну и Err.Clear в любом случае не помешает... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2011, 11:07 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Огромное спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2012, 09:20 |
|
Обработчик ошибок On Error
|
|||
---|---|---|---|
#18+
Есть еще нигде не описанный On Error Goto -1, который отменяет текущую метку как обработчик ошибки и в ней можно делать новый on error и генерить новую ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2012, 09:27 |
|
|
start [/forum/topic.php?fid=60&fpage=87&tid=2158141]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
95ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 180ms |
0 / 0 |