From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-01-18 08:49:37
From: "terekhov" <terekhov_at_[hidden]>
> --- In boost_at_y..., "bill_kempf" <williamkempf_at_h...> wrote:
> Mr. Butenhoff agreed with our decisions on N4
> Where can I find this newspaper, Bill?
> "> My second question is whether the C++ catch(...),
> > which means "catch all exceptions", should be
> > allowed to catch the pthread cancelation exception.
> > On Tru64 Unix, catch(...) does catch pthread
> > cancelations.
> Yes, it should; but you should always re-"throw"
> unless you're really sure you want to break the
> entire world. I think that should ALWAYS be true
> for an anonymous catch(...), though. If you don't
> know what it is, you can't "finalize" the exception
> recovery, and you need to just clean up your own
> local context and let someone else further down
> handle it.
Something that I've been trying to say from the start. Cancellation/thread
exit is a C++ exception. Everything else simply falls out from general C++
exception handling principles. catch(...) blocks should nearly always
rethrow not because of thread cancellation, but because this is usually the
right way to handle exceptions.
-- Peter Dimov Multi Media Ltd.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk