What you're looking for is called dynamic-wind. It is even more generic than Java's try/catch/finally idiom and surprisingly it is not even a special form but a simple plain function.
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. Is there a better way? (or a better idiom for resource cleanup that I should be using?)
Thanks,
Phil
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list