User Tools

Site Tools


en:onerror

OnError (Statement)

Format

onerror label

Description

Causes the Gosub at label to be executed when a runtime error occurs. Program control may be resumed at the next statement with a Return statement in the subroutine. Error traps are kept in a stack so that the last defined trap, that has not been removed with an OffError will be the active one.

You may not execute an OnError statement inside a Try / Catch / End Try statement.

Example

# test error trapping
onerror nicetrap
print 1
next haha
print 2
open 999, "bogus.file"
print "Runs Anyway"

# test error trapping off and fail at any error (default)
offerror
print 3
next hoho
print "never get here"

end

nicetrap:
# this is the nice error handler
print "trap and run - error on line " + lasterrorline + " - error number " + lasterror + " message " + lasterrormessage + " (" + lasterrorextra + ")"
return

will display

1
trap and run - error on line 4 - error number 4 message Next without FOR ()
2
trap and run - error on line 6 - error number 5 message Invalid File Number ()
Runs Anyway
3
ERROR on line 12: Next without FOR 

See additional example of usage on ThrowError page.

See Also

History

0.9.6zNew To Version
1.99.99.33Removed the ability to use a subroutine for error trapping
en/onerror.txt · Last modified: 2020/02/28 10:46 (external edit)