Beispiel

Class::~Class() {
// Clean up references to memory ...
int error = cleanUp();
if(error)
{
throw str;
}
logDestruction(); // May throw exception
}

Lösung
Stellen Sie sicher, dass keine Ausnahmebedingungen den Destruktor hinterlassen, indem Sie alle Ausnahmebedingungen abfangen.

Class::~Class() {
try {
// Clean up references to memory
delete pointer;
logDestruction();
}
catch( ... ) {
// catch all errors here
}
}