Здравствуйте, Evgeny.Panasyuk, Вы писали:
_>>А оно автоматом возникает в случае применения исключений не только для критических сбоев. Потому как в таком случае обработка ошибки происходит не где-то на высоком уровне, а почти всегда на уровне вызова функции, кидающей исключения. В предыдущих темах я уже приводил примеры на эту тему.
EP>Я об этом и говорю, не припомню чтобы сторонники исключений агитировали за использование их в тех случаях, где обработка происходит на том же уровне.
EP>Есть конечно неоднозначные случаи, где аргументация сильна и за тот и за другой вариант (в смысле исключения или return code) — но это всё же редкость. И тут, кстати, частично помогает expected<T> и аналоги.
Ты то может и не агитировал, но сторонников подхода "вся обработка ошибок через исключения" на этом форуме предостаточно.
_>>И если с помощью исключений, то каким подходом лучше? )
EP>Самый ванильный это ручное проставление .flush_may_throw() в конце scope (отдалённо напоминающее scope guard).
EP>Альтернативные варианты подробно описывал тутАвтор: Evgeny.Panasyuk
Дата: 17.11.15
и тутАвтор: Evgeny.Panasyuk
Дата: 27.09.12
.
EP>Но, опять таки, это не столько относится к исключениям как к подходу в целом, а скорее к одной из реализаций.
Ну так в этом и была моя мысль. Что при наличие такой реализации сам подход становится терпимым. )