В целях отладки я хотел бы зарегистрировать исключение, которое вызывает разматывание стека, которое приводит к разрушению конкретного объекта. Что -то подобное (псевдокод, явно недостаточный и не работает): < /p>
struct Test
{
~Test()
{
if (this_destructor_is_called_due_to_stack_unwinding)
std::cerr in the Destructor. Такая техника не идеальна, но она сделает то, что ожидается для объектов с автоматической продолжительностью хранения. std :: current_exception () и связанные функции кажутся бесполезными, потому что эти строки не выполняются в обработчике исключений.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79728465/can-i-peek-at-an-uncaught-exception-in-the-destructor-of-an-object-undergoing-un[/url]
В целях отладки я хотел бы зарегистрировать исключение, которое вызывает разматывание стека, которое приводит к разрушению конкретного объекта. Что -то подобное (псевдокод, явно недостаточный и не работает): < /p> [code]struct Test { ~Test() { if (this_destructor_is_called_due_to_stack_unwinding) std::cerr in the Destructor. Такая техника не идеальна, но она сделает то, что ожидается для объектов с автоматической продолжительностью хранения. std :: current_exception () и связанные функции кажутся бесполезными, потому что эти строки не выполняются в обработчике исключений.>