20

Boost Asioプログラムで次のようなエラーをキャッチしています

if (!error)
{
    //do stuff
}
else
{
    std::cout << "Error : " << error << std::endl;
    //handle error
}

しかし、このエラーは人間が判読できるものではありません (たとえば、証明書なしで SSL サーバーに接続するとエラー asio.ssl:335544539 が返されます)。エラーを表示するより良い方法はありますか?

4

1 に答える 1

40

使用している可能性が高い場合は、次のようにboost::system::error_code呼び出すことができます。

error.message()

より人間に優しいメッセージを得るために。

を使用operator<<すると、次のように変換されます。

os << ec.category().name() << ':' << ec.value()

ここでは、 で利用可能なメンバーの詳細な概要を確認できますerror_code

于 2012-05-25T13:22:38.617 に答える