Boost logo

Boost :

Subject: Re: [boost] [Thread] Win32 exception handling
From: AlisdairM (nntp.alisdairm_at_[hidden])
Date: 2008-11-25 19:09:04


David Abrahams wrote:

> The requirement that terminate() be called when the exception isn't
> otherwise caught. Of course you can do it with "compiler magic"
> because the standard doesn't specify an implementation. Practically
> speaking, though, it means a catch(...) in the library.

Note that this is essentally the same rule as when the exception
handling system fails today, only transferred to all threads rather
than just the main thread. in other words, if this works the way your
customers intend today by compiler magic, that same magic should be
implied for additional threads in 0x, and thus has nothing to do with a
requirement to catch(...) in the thread library itself.

My understanding is that thread should *not* have the catch, allowing
the thread to terminate as per clause 15, and that future and
packaged_task are the means to catch and transport exceptions between
threads.

-- 
AlisdairM

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