История изменений
Исправление
dzidzitop,
(текущая версия)
:
второе исключение заменит первое. но я показал, как будет вести себя программа. оно отвечает поставленным к ней требованиям. если бы нужно было сохранить обязательно первое исключение, то код бы выглядел чуть иначе. но всё равно - выбор есть. c RAII - нет.
я не критикую RAII - его использую постоянно. но у него есть ограничения и нужно с ними как-то жить. finally + RAII для меня бы заменили catch (...) и неудобства от полужёсткого требования на noexcept для деструкторов. но есть только RAII + catch (...), что не идеально, но жить можно.
Исходная версия
dzidzitop,
:
второе исключение заменит первое. но я показал, как будет вести себя программа. оно отвечает поставленным к ней требованиям. если бы нужно было сохранить обязательно первое исключение, то код бы выглядел чуть иначе. но всё равно - выбор есть. c RAII - нет.
я не критикую RAII - его использую постоянно. но у него есть ограничения и нужно с ними как-то жить. finally + RAII для меня бы заменили catch (...) и неудобства от полужёсткого требования на noexcept для деструкторов. но есть только RAII + catch (...), что не идеально удобно, но жить можно.