Re[4]: Legalize throwing destructors! D's scope(failure) and scope(success) in C
От: Evgeny.Panasyuk Россия  
Дата: 28.09.12 13:20
Оценка:
Здравствуйте, UniqueRSDN, Вы писали:

[...]
URS>вопрос в том, что будет проще. пока что особого профита я не увидел и предпочту вариант, в котором деструкторы
URS>все-таки не кидают ничего. эта дорожка хотябы протоптана.

всё правильно написано
А что насчёт объектов, которые создаются и живут только в scope кода, то есть не члены, не базы, не хранятся в контейнерах?
Допустим создаём std::ofstream, и сразу рядом с ним scope action на success (выполняет заданное действие в деструкторе, если не stack unwinding), в котором взводим exceptions и дёргаем close (который соответственно может кинуть).
Либо создаём свою небольшую обвёртку, которую по соглашению можно использовать только в scope кода.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.