throwing exceptions out of a destructor

Większość ludzi mówinigdy wyrzuć wyjątek z destruktora - powoduje to niezdefiniowane zachowanie. Stroustrup podkreśla to„destruktor wektora jawnie wywołuje destruktor dla każdego elementu. Oznacza to, że jeśli element destruktora wyrzuci, zniszczenie wektora nie powiedzie się ... Naprawdę nie ma dobrego sposobu ochrony przed wyjątkami rzucanymi z destruktorów, więc biblioteka nie gwarantuje, że element destructor rzuca „(z Dodatku E3.2).

Ten artykuł wydaje się mówić inaczej - że rzucanie destruktorów jest mniej więcej w porządku.

Moje pytanie brzmi: jeśli wyrzucenie z destruktora powoduje niezdefiniowane zachowanie, jak radzisz sobie z błędami występującymi podczas destruktora?

Jeśli podczas operacji czyszczenia wystąpi błąd, po prostu go ignorujesz? Jeśli jest to błąd, który potencjalnie może zostać obsłużony przez stos, ale nie w destruktorze, to czy nie ma sensu wyrzucać wyjątku z destruktora?

Oczywiście tego rodzaju błędy są rzadkie, ale możliwe.

questionAnswers(16)

yourAnswerToTheQuestion