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
}
}