|
Boost : |
From: David Abrahams (abrahams_at_[hidden])
Date: 2000-05-28 08:37:05
From: "Bill Klein" <bill_at_[hidden]>
> > > Now if you try to run it in release
> > > mode, you'll see that it *doesn't* get caught!
>
> >I have tried both options with my test program, and they exhibit
> >identical behaviors. I think what the Microsoft documentation says
> >is that unless you use /EHa, certain destructor cleanups might not
> >run when a structured exception (crash) causes the stack to unwind...
>
> See the program below. At least for me (VC++6 running on
> W2K), if I compile it in release mode with the /EHa switch
> and run it from the command prompt I get:
>
> Exception
> Done
>
> (I get the same result in debug mode)
>
> On the other hand, if I compile with the (default) /GX
> switch and run it from the command prompt, it simply crashes
> and exits before it gets a chance to print anything.
I get the same results as you do on that program. But since I'm really
interested in the behavior you get with /GX, and mostly in my debug-mode
programs (there's not much to see in the debugger otherwise), I guess it
doesn't matter that much to me.
Regards,
Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk