提升错误代码人类可读的描述

时间:2012-05-25 13:14:30

标签: c++ boost error-handling boost-asio

我在Boost Asio程序中遇到错误,如

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

但该错误不是人类可读的(例如,在没有证书的情况下连接到SSL服务器会出现错误asio.ssl:335544539)。有没有更好的方法来显示错误?

1 个答案:

答案 0 :(得分:29)

如果您可能使用boost::system::error_code,可致电:

error.message()

获得更加人性化的信息。

使用operator<<转换为:

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

Here您可以在error_code中查看可用成员的详细概述。