Здравствуйте, Andrew S, Вы писали:
AS>Всем привет.
AS>Ситуация следующая — разрабатывается небольшой слой кросс-платформенной абстракции (io, sync, mt etc). В который раз возник вопрос, что в каких ситуациях использовать — исключения и коды возврата ошибок.
AS>Если есть ссылки критерии, best practice или что-нибудь подобное — будет супер.
boost.asio
все функции в двух экземплярах, одни бросают, другие (у которых есть параметр boost::system::error_code & ec) — не бросают.
Пример:
iterator resolve(
const query & q);
iterator resolve(
const query & q,
boost::system::error_code & ec);
http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/reference/ip__basic_resolver/resolve.html