Err

FreeBASIC

Err
 
Get or set the run-time error number

Usage

result = Err( )
or
Err = number

Description

The Err() function returns the FreeBASIC run-time error number which can be set by the built-in statements and functions, or by the program through Err = number or Error. Unlike Error, Err = number sets the error number without invoking an error handler.

See Runtime Error Codes for a listing of the predefined runtime error numbers and their associated meaning. The program may use additional custom error numbers.

Err can always be used, even if QB-like error handling is not enabled. Err is reset by Resume and Resume Next.

Note: Care should be taken when calling an internal function (such as Print) after an error occurred, because it will reset the error value with its own error status. To preserve the Err value, it is a good idea to store it in a variable as soon as the error handler is entered.

Example

An example using QBasic style error handling (compile with -ex option)
'' Compile with -lang fblite or qb

#lang "fblite"

On Error Goto Error_Handler
Error 150
End

Error_Handler:
  n = Err()
  Print "Error #"; n
  Resume Next

An example using inline error handling (note: Open can also return its own error status when called as a function)
'' compile without -e switch

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


Differences from QB

  • Error numbers are not the same as in QB.

See also