Err
Get or set the run-time error number
result = Err( )
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.
An example using QBasic style error handling (compile with -ex option)
An example using inline error handling (note: Open can also return its own error status when called as a function)
Usage
result = Err( )
or
Err = numberDescription
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
#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
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