netch80 wrote:
> try {
> подготовка обстановки;
> работа;
> } finally {
> восстановление обстановки;
> }
Проблема тут в том, что можно
забыть добавить нужное
cleanup-действие в "восстановление обстановки". А учитывая, что
exception conditions часто не тестируются и проблемы от утекающих
ресурсов могут быть заметны не сразу — баг может жить очень долго.
В этом отношении RAII намного лучше — мы уже не можем забыть освободить
ресурс (ну если _очень_ не захочем).
Количество необходимых служебных классов, на практике, у меня получается
очень небольшим. ON_BLOCK_EXIT + boost::bind справляются с 90% случаев.
Posted via RSDN NNTP Server 2.1 beta