Оператор , который при обработке ошибок возобновляет выполнение после прыжка
в обработчик ошибок
Синтаксис
Resume
Описание
Resume используется в традиционной механизме обработки ошибок QB
. При вызове обработчика ошибок (вызов
On Error)
, он возвращает выполнение к линии, вызвавшей ошибку. Обычно это
используется после того, как ошибка была обработана (исправлена), чтобы
снова попытаться выполнить ранее ошибочную операцию с исправлением данных.
Resume сбрасывает значение
Err
в 0
Пример
'' Компилировать с опцией -lang fblite или -lang qb
#lang "fblite"
Dim As Single i, j
On Error Goto ErrHandler
i = 0
j = 1 / i ' эта
линия вызывает ошибку деления на ноль с первой попытки; выполнение
переходит к линии ErrHandler
Print j ' после
того, как значение i корректируется, печатается 0,5
End ' завершаем программу,
чтобы выполнение снова не попало в обработчик ошибок
ErrHandler:
i = 2
Resume ' выполнение
переходит к линии 'j = 1 / i' , которая не
вызовет ошибку на этот раз
Различия диалектов
- RESUME не поддерживается в диалекте -lang fb.
Операторы могут использоваться в виде функции для возврата кода ошибки
If Open( "text" For Input As #1 ) <> 0 Then
Print "Unable to open file"
End If
Отличия от QB
- Не принимает номера строк или метки
- Необходимо компилировать с опцией -ex
См. также