[gambit-list] finally blocks
Marc Feeley
feeley at iro.umontreal.ca
Sun Jan 28 22:25:30 EST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 27-Jan-07, at 1:36 PM, Phil Dawes wrote:
> Hi Gambit List,
>
> I'd like to have some functionality in gambit similar to 'finally'
> blocks in java/python where a block of code is always executed
> regardless of any exceptions thrown.
>
> I'm currently using an exception handler that catches the exception
> and
> re-raises it after doing the cleanup stuff, but this loses the
> original
> 'where the exception was raised from' metadata.
I'm not sure I understand what you mean by that (i.e. 'where the
exception was raised from' metadata).
When an exception is raised the continuation of the exception handler
is identical to the continuation of the primitive that raised the
exception. On the other hand, when you use with-exception-catcher or
dynamic-wind, the continuation will be unwound, so you lose the
continuation of the primitive. So, if you want to preserve this
information, you could use call/cc (or ##continuation-capture) to
save the information for later use.
Marc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
iD8DBQFFvWkq//V9Zc2T/v4RAre1AJ9VzzafTQMdULKgLtRZIAadj9D9RwCdGyLw
/MLFr6D6n0no71JPxAKnQ+U=
=Y8hK
-----END PGP SIGNATURE-----
More information about the Gambit-list
mailing list