Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Хотел проконсультироваться... В цикле вылетает ошибка (природу и характер которой я знаю), но несмотря на это мне нужно её игнорировать и продолжить цикл. Придумалось сделать вот так (вроде работает): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 00:55 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
vladgrig В цикле вылетает ошибка (природу и характер которой я знаю), но несмотря на это мне нужно её игнорировать ИМХО это высказывание настораживает... On Error - пережиток старого. Какая ошибка у вас возникает, может быть следует разобраться с ней? Что вы разрабатываете - библиотека классов? рабочая программа? что то еще? Уверенны ли вы что если "проглотите" все исключения то сможете корректно продолжать выполнение кода дальше? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 05:28 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
То что в VB.NET для совместимости оставили On Error — вовсе не значит что его нужно использовать. Resume Next вообще вещь вредная, поскольку скрывает проблемы. Лучше поставить Try..Catch и проанализировать — что за исключение возникает и почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 08:37 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
авторЧто вы разрабатываете - библиотека классов? рабочая программа? что то еще? Уверенны ли вы что если "проглотите" все исключения то сможете корректно продолжать выполнение кода дальше? 1. Рабочая программа. 2. Абсолютно. авторЛучше поставить Try..Catch и проанализировать — что за исключение возникает и почему. В цикле вылетает ошибка (природу и характер которой я знаю). P.S. Вопрос не снят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 08:48 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
2. Абсолютно. Вообще то в этом нельзя быть абсолютно уверенным, так как вполне возможно на компьютере заказчика при выполении вашего приложения закончится память, или другой разработчик будет неверно использовать ваш код и т.д. В цикле вылетает ошибка (природу и характер которой я знаю). Дак скажите нам какая, последуйте совету Никита А. Зимин и привидите текст Exception Совет: Забудьте про On Error - это одна из тех не нужных вещей которую оставили басистам. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 09:04 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
авторДак скажите нам какая Хорошо, можете начинать издеваться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 09:21 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Конкретное предложение: изменить текст вот таким образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А еще почитать про грамотную обработку исключений и отладку в VB.NET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 10:34 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
авторПоставить точку останова на Beep, запустить в отладчике, когда остановится на Beep - скопировать сообщение и stack trace и поместить в форум. Это не новость, работа с try как то более менее понятна и без beep. Я даже знаю о существовании msgbox(ex.ToString) и добавлении на форум картинки exception. Только это не решение (вроде понятно написал какой ex и для чего On Error Resume Next). Ладно попробую по другому: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 11:12 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
набиваю код прямо тут так что не пинай... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 11:55 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
To Лиман Артём Спасибо за идею. автортак что не пинай... Самому бы в живых остаться Вот интересно, а встроенной функции для таких целей в Fraimwork (типо: "If DataSet11.Testtable.Columns.Item(0).IsUnique(s)" - нет студии под рукой, проверил бы) случайно нет??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 12:20 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. И, всё же, за решением своей траблы отвлёкся от основной темы: авторOn Error - пережиток старого это понятно, но, как используя Try Catch обработать ошибку и вернуться в цикл??? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 20:28 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Вызов исключения дорого стоит и для таких вещей не применяется. В данном случае вы должны обработать исключение (например, показать пользователю красивое сообщение о том что существует нарушение в данных и например, запротоколировать эту ошибку). Т.е. изначально у вас неправильно стоит цель, вы должны не допустить здесь исключения, путем проверки своих данных (см. пост Лиман Артем ) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 21:15 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
авторТ.е. изначально у вас неправильно стоит цель, вы должны не допустить здесь исключения Sa - я Вас очень уважаю (и Ваши мнения, соответственно - тоже). Но, почему то в Ваших словах чувствуется нарушение логики (на мой взгляд). С одной стороны - вы должны не допустить здесь исключения - тогда на кой использовать try catch??? С другой стороны - произошла внештатная ситуация - тогда первое суждение ложно. Ну да ладно - простой пример - копирование файлов из одной директории в другую. Поймали ex о том что не может он скопировать один файл (по любой причине), зачем прерывать всё копирование??? Не логичнее, зная о том, что файл "ляляляля" скопировать не удалось (даже - запротоколировать эту ошибку), скопировать всё остальное, а с этим злополучным файлом разбираться потом отдельно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 21:49 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
В данном случае надо разделять что понимать под исключительной ситуацией, если для логики моего приложения невозможность копирования одного из файлов является нарушением работы, то я должен инициировать исключение и отменить процесс копирования. Если для меня это не критично то я и не буду вызывать исключение для этой ситуации и продолжу копировать дальше. В вашем случае, появление дублирующих данных является исключительной ситуацией - когда дальнейшая работа с этими данными действительно может привести к непредсказуемым последствиям. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 22:47 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Со своей ситуацией я уже разобрался с помощью Артёма (и благодарность ему уже высказал). Кстати и с проблемой, по моему тоже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 23:26 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 06:39 |
|
||
|
On Error Resume Next
|
|||
|---|---|---|---|
|
#18+
Sa, спасибо. В завершении всего процесса ликвидации моих пробелов в знаниях, хотел бы привести код с примером (может не самым удачным, но всё же ). Вдруг кто то встретится с проблемой - а так, посмотрит ("поймает идею") и, глядишь, по аналогии сделает быстрее и эффективнее: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 09:02 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32935596&tid=1437138]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 394ms |

| 0 / 0 |
