Boost logo

Boost :

From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2003-10-08 17:11:00


Peter Dimov wrote:
[...]
> That's true for the implementation-defined unwind but not for violated
> exception specs. I've always found it odd that main() is not throw(), but
> apparently this is intentional.
>
> I'm not saying that this is a good idea. I'm saying that it would be very
> hard to change it.

Yeah. But main() shall be deprecated ASAP anyway and "replaced" with
something like

<whatever> main_thread::run(/*...*/) throw(std::thread_cancel_request,
                                           std::thread_exit_request,
                                           std::program_exit_request);

so that it can look and behave just like any other thread routine
(ctors of non-local static object shall run in the same throw-
restricted context as code inside "main"; all dtors shall better be
implicit throw() by default and TSD/TLS dtors and dtors of all statics
shall run in throw()-nothing context, of course).

http://groups.google.com/groups?selm=3F703B76.C43D072%40web.de
http://groups.google.com/groups?selm=3F7831FB.435A8129%40web.de
(Subject: Re: The worst 'hello world' example ever written...)

That's a rather funny thread, BTW. ;-)

regards,
alexander.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk