
Roland Schwarz <roland.schwarz@chello.at> writes:
Matt Gruenke schrieb:
You don't see why I consider silently swallowing unhandled exceptions to be effectively hiding program errors? I'll try my best to support that claim, but I think we may have encountered a fundamental difference of opinions.
Of course I do see a problem in "swallowing unhandled exceptions to be effectively hiding program errors". I don't think there is an issue of opinions.
What I am trying to say is simply: Wheter the catch all is present or not will _not_ help to address this problem!
Not from a portable C++ point-of-view, no. A platform or C++ implementation is free to implement its own swallowing, so there's no guarantee that there will be less error masking.
This is a technical issue only.
What woul help is calling some (possibly user supplied) handler from the catch clause. (Or leave it to the debugger to do something reasonably.) But perhaps I did not understand correctly your point and we both effectively are suggesting the very same?
About the leaking issue: I have spent quite some time to help in the implementation of the tls part on the windows platform (to be precise: the addition of the static linkability of the thread lib.) From then I know that there might be a minor issue with this leak. I did not ever claim that this is a serious issue. I just tried to point out that the only usage of the catch clause at the moment is to avoid this.
What I see as a technical problem is how you would be able to force a process shutdown from the context of a thread? Could you please try to sketch how this could be done?
You can just put the try/catch in your thread main function and call the shutdown function from there. -- Dave Abrahams Boost Consulting www.boost-consulting.com