Destructors

The rule of thumb for exceptions in destructor: they must never throw.

Desctructor can be called in one of two ways:

in the later emitting an exception cause undefined behaviour most likely terminate()


~X::X() throw()
try
{
...
}
catch( ... ) { ... }

Destructor must never emit exception!