Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-01-17 07:06:22


From: "bill_kempf" <williamkempf_at_[hidden]>
> So, all this discussion leads us to:
>
> 1) Use deferred cancellation (and allow the user to turn cancellation
> off).
> 2) Use a C++ exception for cancellation.
> 3) Allow the user to catch the exception.
> 4) Allow the user to "eat" the exception.
> 5) Make the cancellation "flag" a sticky flag, so if the user "eats"
> the exception it will eventually be re-thrown when they call another
> cancellation point.
> 6) Ensure cancellation points don't throw when uncaught_exception()
> returns true.
> 7) Document that in general one should always rethrow a caught
> cancelation exception.

Yes to all. I'd rephrase 3, 4, and 7 as "normal C++ exception handling rules
apply; see a good book on 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