[Glass] Understanding GciTsContinueWith
Iwan Vosloo
iwan at reahl.org
Fri Jul 30 06:57:53 PDT 2021
Hi there,
I am trying to figure out how to use GciTsContinueWith and I don't quite
understand the comments (see below).
I can make it continue code after an exception (such as signalled from a
halt), but only if I pass NULL to continueWithError.
If I pass in the error (GciErrSType) obtained after, say a perform, I
just keep getting the same error upon continuing.
Perhaps what I don't understand is the idea here - what can I replace
the top of stack with?
I would like to understand enough to eventually be able to debug
gemstone code (eg, step) via this interface. Can I do this via
GciTsContinueWith?
Thank you
Iwan
/*==============================================================================
* GciTsContinueWith
*
* result is OOP_ILLEGAL if an error was returned in *err .
*
* If continueWithError is not NULL, continue execution by signalling this
* error and replaceTopOfStack must be OOP_ILLEGAL . In this case,
* top frame of stack must be AbstractException>>signal
* or AbstractException >>_signalFromPrimitive .
*
* Within *continueWithError, if continueWithError->exceptionObj is
not OOP_NIL
* it is used to replace self in the top frame,
* otherwise continueWithError->number is used to construct a kind of
* AbstractException to replace self in the top frame.
* Then execution is restarted at start of top frame's method.
*
* replaceTopOfStack == OOP_ILLEGAL means TopOfStack will not be changed
*/
--
More information about the Glass
mailing list