Kiedy C ++ kończy obsługę programu Right Thing (TM)?

Standard C ++ zapewniastd::set_terminate funkcja, która pozwala określić jaką funkcjęstd::terminate powinien zadzwonić.std::terminate powinien być wywoływany tylko w trudnych okolicznościach i na pewno sytuacje, które opisuje standard, gdy jest wywoływany, są straszne (np. nieprzechwycony wyjątek). Gdystd::terminate Sytuacja wydaje się być analogiczna do braku pamięci - nie ma zbyt wiele rzeczy, które można rozsądnie zrobić.

Czytałem, że można go użyć do zapewnienia uwolnienia zasobów - ale dla większości zasobów powinno to być obsługiwane automatycznie przez system operacyjny, gdy proces się kończy (np. Uchwyty plików). Teoretycznie widzę przypadek, jeśli powiedziano, trzeba wysłać serwerowi konkretną wiadomość podczas wychodzenia z powodu awarii. Jednak większość czasu obsługi systemu operacyjnego powinna być wystarczająca.

Kiedy korzystasz z zakończonej obsługi Right Thing (TM)?

Aktualizacja:Ludzie zainteresowani tym, co można zrobić za pomocą niestandardowych programów obsługi terminatów, mogą uznać tę nie przenośną sztuczkę za przydatną.