Получить или задать номер ошибки во время выполнения
Использование
result = Err( )
или
Err = number
Описание
Функция
Err() возвращает номер FreeBASIC
Run-time ошибки, которая может быть установлена встроенной
инструкцией и функцией или программой через
Err = number
или
Error. В отличие от
Error,
Err = number
задает номер ошибки без вызова обработчика ошибок.
Смотрите
Runtime коды ошибок для
ознакомления с перечнем предопределенных номеров ошибок
runtime и связанного с ними смыслом. Программа может использовать
дополнительные номера пользовательских ошибок.
Err всегда можно использовать, даже если не включена обработка
QB-подобных ошибок.
Err сбрасывает
Resume
и
Resume Next.
Примечание: Следует позаботиться о статусе ошибки при вызове внутренней
функции (такой, как
Print) после
того, как произошла ошибка, потому что
Err будет
сбрасывать значение ошибки в свой собственный статус ошибки. Для сохранения
значения
Err, будет хорошей идеей сохранить его в
переменной, как только вводится обработчик ошибок.
Пример
Пример использования QBasic стиля обработки ошибок (компилировать с опцией -ex)
'' Компилировать с -lang fblite или qb
#lang "fblite"
On Error Goto Error_Handler
Error 150
End
Error_Handler:
n = Err()
Print "Error #"; n
Resume Next
Пример с использованием встроенного обработчика ошибок (примечание:
Open
может также возвращать свой собственный статус ошибки при вызове функции)
'' компиляция без опции -e
Dim filename As String
Do
Line Input "Input filename: ", filename
If filename = "" Then End
Open filename For Input As #1
Loop Until Err() = 0
Print Using "File '&' opened successfully"; filename
Close #1
Отличия от QB
- Номера ошибок не являются такими же, как в QB.
См. также