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