Someone in a different question suggested using catch(...) to capture all otherwise unhandled - unexpected/unforseen exceptions by surrounding the whole main() with the try{}catch(...){} block.
It sounds like an interesting idea that could save a lot of time debugging the program and leave at least a hint of what happened.
The essence of the question is what information can be recovered that way (other than whatever debug globals I leave behind), and how to recover it (how to access and recognize whatever catch was called with)
Also, what caveats are connected with it. In particular:
- will it play nice with threads that sprout later?
- will it not break handling segfaults (captured elsewhere as signal)
- will it not affect other try...catch blocks inevitably nested inside, that are there to handle expected exceptions?