Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > Обработка исключений |
Автор: msdmsd 15.8.2010, 15:40 | ||
Вот пример - в цикле выполняются операции над элементами массива - деление 1 на очередной элемент. Некоторые элементы нули. Надо чтобы когда попадаются нули выполнялась обработка исключения и цикл был продолжен. В этом примере первое исключение срабатывает как надо, но на следующем нулевом элементе исключение не ловится - бейсик обрабатывает его сам и программа завершает работу. Попытки переопределить обработку исключений ни к чему не приводят. Как это обойти?
|
Автор: Dexx 15.8.2010, 17:35 |
Почему бы не добавить проверку на 0 |
Автор: iff 15.8.2010, 20:55 | ||
|
Автор: Akina 15.8.2010, 21:54 |
Обработчик исключений следует завершать не Goto, а Resume. В крайнем случае (нежелательно!) использовать Err.Clear |
Автор: msdmsd 16.8.2010, 10:15 | ||
если вместо Goto написать Resume - то данный пример просто зависнет - после обработки будет возврат к той же строке и снова исключение. Можно написать Resume Next - тогда для этого примера будет все как надо, но что делать если требуется следующее: (есть ли вариант решения без использования каких то дополнительных флажков и т.п.)
|
Автор: msdmsd 16.8.2010, 10:45 |
спасибо, за ответ, только мне непонятна реакция. зачем вообще форум, если все можно где-то прочитать, а про проверку на 0 я полагал, что это очевидно, пример то искусственный, вопрос то был про исключения. |
Автор: Akina 16.8.2010, 12:10 |
Форум - для решения вопросов, которые не удалось решить самостоятельно. Но если не удалось потому, что лень нажать F1 и прочитать десять строк справки... какой реакции на ЭТО ты ожидаешь? |