Err
 
Получить или задать номер ошибки во время выполнения

Использование

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.

См. также