ライブラリを作成していて、エラーと例外をきめ細かく制御したいとします。
void foo();
void foo(std::error_code&);
foo()
をスローするように実装し、std::system_error
すべてのfoo(std::error_code&)
例外をキャッチしてerror_codeを抽出しますか?
または、決してスローしない関数として実装し、エラーコードの存在に応じてfoo(std::error_code&)
関数をスローする必要がありますか?foo()