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 (a 32 bit 
	KeyPgLongLong) which can be set by the built-in statements and functions, or by 
	the program through Err = number or KeyPgErrorError. Unlike KeyPgErrorError, Err = number 
	sets the error number without invoking an error handler.

	See TblRuntimeErrors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 KeyPgResumeResume and KeyPgResumenextResume Next.

	Note: Care should be taken when calling an internal function (such as 
	KeyPgPrint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 KeyPgLongLong).
	That is the case for: KeyPgBloadBLoad, KeyPgBsaveBSave, KeyPgCloseClose, KeyPgFilecopyFileCopy, KeyPgGetjoystickGetJoystick, 
	KeyPgGetmouseGetMouse, KeyPgImageInfoImageInfo, KeyPgKillKill, KeyPgOpenOpen, KeyPgOpenComOpen Com, KeyPgOpenConsOpen Cons, KeyPgOpenErrOpen Err, KeyPgOpenLptOpen Lpt
	, KeyPgOpenPipeOpen Pipe, KeyPgOpenScrnOpen Scrn, KeyPgScreenresScreenRes, KeyPgScreensyncScreenSync, KeyPgSetdateSetDate, KeyPgSetmouseSetMouse, KeyPgSettimeSetTime
	.

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: KeyPgOpen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
	* KeyPgOnerrorOn Error
	* KeyPgErrorError
	* ProPgErrorHandlingError Handling
	* TblRuntimeErrorsRuntime Error Codes

