title: Detecting when destructor running due to exception being thrown?
body: <p>What is a good way in C++ to detect in a destructor that it is being run during unwind of the stack due to an exception being thrown as opposed to a normal exit of scope triggering the destructor?  I'd like to know so that I can create a class that has some cleanup code that is always run on normal exit but skipped when an exception occurs.</p>