std::uncaught_exceptions (note the plural "s") was introduced. This allows you to capture the "nested unwinding" count in the ctor and compare the captured value to the current value when the dtor is executed. That way you can know if your object is being destroyed because its scope was left by means of an exception (dtor current value > captured value).
Which means you can finally implement stuff like "auto-undo" guards in C++, yay. :)