Boost logo

Boost :

From: William E. Kempf (williamkempf_at_[hidden])
Date: 2002-08-07 09:35:25


----- Original Message -----
From: "Victor A. Wagner, Jr." <vawjr_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, August 07, 2002 4:39 AM
Subject: Re: [boost] Re: Re: Threads & Exceptions

> At Tuesday 2002/08/06 09:37, you wrote:
> >From: "William E. Kempf" <williamkempf_at_[hidden]>
> >[deleted]
> >terminate() is invoked when there is no matching exception handler. If
> >join() magically transports exceptions across thread boundaries, the
> >exception thrown in main() will be caught by the join()ing thread, and
> >things are fine and dandy.
> >
> >Unfortunately, when there is no join(), the uncaught exception must
> >terminate the process, but we don't know in advance whether there will be
a
> >join() sometimes in the future!
>
> I see an "unreported exception" just like any other resource leak.
> we don't terminate processes because somebody forgets to do a delete[]
> what's so "magic" about an exception?

The C++ standard explicitly defines the behavior here. I suppose that's the
"magic" you're referring to.

Bill Kempf


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