ли не единственный выход. (Не конкретно errno, а подход с пробрасыванием стейта через переменную)
У меня было как минимум два других предложения - внешний хендлер ошибки и явная установка поведения для класса, бросающего исключение в деструкторе
Про коллбек: 1. Если мне нужно что-то сигнализировать наружу, т.к. от этого должна поменяться логика сверху (поретраиться, например), то коллбек все равно, по сути, должен выставлять какой-то флаг. 2. Коллбек не позволяет сделать "longjmp" в это нужное место, как исключения.
Согласен, имхо установка поведения для стрима (terminate/ignore) - вполне жизнеспособная идея
А возможность обработать (или даже обнаружить) ошибку?
Мне всегда казалось, что ошибка в деструкторе подразумевает несогласованное состояние объекта. То есть как таковой рекавер невозможен, только залоггировать. Терминейт может не очень изящный способ это сделать, но он работает
Обсуждают сегодня