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 回答