Возможно ли создание пользовательской потоковой работы, такой как stanadrd, в отношении ошибок? Это по умолчанию использует бит good/fail/bad/eof, а не исключения?C++ Boost io streams, обработка ошибок
В документах boost упоминается только сброс std :: failure для ошибок потока и возможность распространения другой ошибки (например, badalloc от попыток выделения буфера), однако код повышения, похоже, не поймает их, вместо этого полагаясь на код пользователя для их обработки, но весь мой существующий код зависит от методов good(), bad() и метода clear() в тех случаях, когда он должен повторить попытку после ошибки.
Какие документы Boost вы смотрите? –
http://www.boost.org/doc/libs/1_39_0/libs/iostreams/doc/index.html –
В http://www.boost.org/doc/libs/1_39_0/libs/iostreams/doc/ guide/exceptions.html # standard_iostreams «Третьей возможностью было бы следовать примеру std :: basic_streambuf и разрешать функции-члены фильтров и устройств сигнализировать об ошибках либо путем исключения исключений, либо путем возврата обозначенных индикаторов ошибок. потому что это осложнило бы характеристики различных концепций фильтра и устройства и затруднило бы понимание и поддержку внутренних компонентов stream_buffer ». – akramer