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