Liberty BASIC Help Online

ON ERROR
ON ERROR GOTO [branchLabel]
 
Description:
Liberty BASIC 4 adds support for ON ERROR GOTO. Several of the QBasic error codes are supported, but some are not relevant, and there are some new ones. When an error occurs, the special variables Err and Err$ hold numeric and string values describing what sort of error happened. Some kinds of errors do not have a numeric value, in which case Err will be zero.
 
If an error occurs in a user function or subroutine, Liberty BASIC will exit the current function or subroutine and continue to exit functions and subroutines until it finds ON ERROR handler.
 
If an error is encountered, a program can attempt to resume execution with the RESUME statement.
 
Here is a short list of error codes:
 
3RETURN without GOSUB
4Read past end of data
8Branch label not found
9Subscript out of range
11Division by zero
53OS Error: The system cannot find the file specified.
58OS Error: Cannot create a file when that file already exists.
55Error opening file
52Bad file handle
62Input past end of file
 
Usage:
 
on error goto [errorHandler]
 
open "sillyfilename.txt" for input as #f
close #f
 
end
 
[errorHandler]
print "Error string is " + chr$(34) + Err$ + chr$(34)
print "Error number is ";Err
end
 
The program above will print the following in the mainwin:
 
Error string is "OS Error: The system cannot find the file specified."
Error number is 53
 
 
'demonstrate the use of RESUME
    on error goto [whoops]
    global divideBy
    call causeWhoops
    end
 
[whoops]
    print "whoops!"
    print "Error "; Err$; " "; " code "; Err
    divideBy = 2
    resume
 
sub causeWhoops
    print 10 / divideBy
end sub


Copyright (C) 2003 Shoptalk Systems
Liberty BASIC - http://www.libertybasic.com/