
At 2:59 PM -0500 11/25/08, David Abrahams wrote:
OK, great, a second data point. How do you feel about the fact that the upcoming standard requires the catch(...)?
It's back?! There was a discussion on this list in August 2005 on the pros and cons of the existence of the try/catch(...) in thread_proxy(), which seemed to end with a pretty clear consensus that it should be removed, and there was a bug report filed to do so: 1274707. (That's probably in some old bug tracking system, not the current boost trac.) The rationale was basically what's been brought up in the recent messages: better debugging is generally available on at least some common platforms if there isn't such a try/catch(...) handler. That try/catch was removed by Peter Dimov in early July 2006. It seems to have returned though, which I think is unfortunate. It might be that a native (integrated with the compiler, or otherwise using non-portable mechanisms) could provide the terminate behavior required by the current draft standard while still providing a good debugging experience, where a more or less portable thread library such as boost.thread really can't. If that's the case, my vote would be for boost.thread to be non-conforming in this specific area.