133
LongJmp
Type
Subroutine
Invocation
LongJmp(jmpbuf, val)
Parameter
Method
Type
Description
jmpbuf
ByRef
Array of Byte
A buffer holding the return context, see description below.
val
ByVal
int16
The value to be returned to the original SetJmp() caller.
Discussion
This subroutine, in conjunction with SetJmp(), provides a way to circumvent the normal call-return
structure and return directly to a distant caller. It is the equivalent of a non-local Goto function and can be
used, among other purposes, to handle exceptions in your programs. The first parameter specifies a
Byte array that has been previously initialized by a call to SetJmp(). The second parameter specifies a
value that will be seen by the original SetJmp() caller as the return value. This value, which should be
non-zero, can indicate the nature of the condition that led to the LongJmp() call. See the section on
Exception Handling in the ZBasic Reference Manual for more details.
Caution
Passing a jump buffer that has not been prepared by a call to SetJmp(), one that has been modified
after the SetJmp()call, or one that was prepared by a subroutine/function that is no longer active will
have unpredictable and almost certainly undesirable effects.
Compatibility
This routine is not available in BasicX compatibility mode.
See Also