<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Dec 1, 2010, at 11:42 AM, Duncan Sands wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I got myself confused.  Indeed it seems that C++ behaves the way you describe.<br>However in Ada it is the other way round: cleanups are run after handlers.  For<br>example in Ada it would be possible to use the variable "a" inside one of the<br>handlers, so it had better not be destructed before the handler runs.  Thus it<br>is important not to bake "cleanups run before handlers" into your proposal,<br>since it is C++ specific.  That said, as far as I can tell you didn't bake it<br>in.<br><br></div></blockquote>Ah! That explains it. :)</div><div><br></div><div>Yes, they aren't baked in. You may run the cleanups whenever you wish. Or indeed not at all if you desire. :)</div><div><br></div><div>-bw</div><div><br></div></body></html>