
18 May
2009
18 May
'09
5:04 p.m.
2009/5/18 Anthony Williams <anthony.ajw@gmail.com>
I don't see how they could be --- if an exception is caught then before the handler is entered the stack needs to be unwound and all the destructors run.
Here is one way it could be on the stack (I think I heard it when someone described the Metrowerks implementation, but I could be wrong): Allocate a new stack frame when the throw expression is encountered, and keep track of where it is. Wherever a new stack frame is needed (say, for local variables in destructors during stack unwinding), allocate them below the stack frame of the exception. -- Nevin ":-)" Liber <mailto:nevin@eviloverlord.com> (847) 691-1404