Re: Обработка ошибок в деструкторе своего умного указателя
От: andyp  
Дата: 23.12.22 09:50
Оценка:
Здравствуйте, Sm0ke, Вы писали:

S>Пока что внутри деструктора Обернул вызов clear() в try, и при catch пишу инфу в статическое свойство s_state — структура с полем std::exception_ptr.

S>Это решение мне не очень нравится, ведь надо думать на каком моменте проверять этот статик s_state и как на это реагировать. А при разрушении контейнера с моими указателями он может перезатераться...

Т.е. внутри деструктора в определенной точке тебе надо убедиться, что бросил твой clear а не просто что ты находишься в процессе stack unwinding или нормального завершения? Тогда на std::uncought_exceptions() и всякие scоpe guard посмотри.

S>Посоветуйте как лучше сделать? Не кидать же исключения из деструктора?

S>Кста: нужен-ли язык, где Деструктор может вернуть значение?

Боже упаси
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.