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
Lasterror, Lasterrorextra, Lasterrorline, Lasterrormessage, Offerror, Onerror, OnStop, ThrowError, Try / Catch / EndTry
History
| 0.9.6z | New To Version |
| 1.99.99.33 | Removed the ability to use a subroutine for error trapping |