Példa

Class::~Class() {
// Memóriahivatkozások kitakarítása ...
int error = cleanUp();
if(error)
{
throw str;
}
logDestruction(); // Dobhat kivételt
}

Megoldás
Az összes kivétel elfogásával gondoskodjék róla, hogy a destruktort egyetlen kivétel se hagyja el.

Class::~Class() {
try {
// Memóriahivatkozások kitakarítása
delete pointer;
logDestruction();
}
catch( ... ) {
// összes hiba elfogása itt
}
}