Příklad
Class::~Class() {
// Vyčistit odkazy do paměti ...
int
error = cleanUp();
if
(error)
{
throw
str;
}
logDestruction();
// Možné přes vyhození výjimky
}
Řešení
Ujistěte se, že žádné výjimky neopustí destruktor, zachycením všech výjimek.
Class::~Class() {
try
{
// Vyčistit odkazy do paměti
delete
pointer;
logDestruction();
}
catch
( ... ) {
// zachytit zde všechny chyby
}
}