Exceptions in destructors

In C++11 destructors default to noexcept so you have to go out of your way to make them throw. See throwing exceptions in a destructor. You can throw an exception in a destructor, but that exception must not leave the destructor; if a destructor exits by emitting an exception, all kinds of bad things are likely to happen because the basic rules of the standard library and the language itself will be violated. [Read More]