Get or set the run-time error number

result = Err( )
Err = number

The Err() function returns the FreeBASIC run-time error number (a 32 bit Long) 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.

Remark: Some procedures used in their function version return directly the error code (a 32 bit Long).
That is the case for: Bload, Bsave, Close, FileCopy, GetJoystick, GetMouse, ImageInfo, Kill, Open, Open Com, Open Cons, Open Err, Open Lpt, Open Pipe, Open Scrn, ScreenRes, ScreenSync, SetDate, SetMouse, SetTime.

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

  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

    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:
See also:
Back to Error Handling Functions
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode