我在Boost Asio程序中遇到错误,如
if (!error)
{
//do stuff
}
else
{
std::cout << "Error : " << error << std::endl;
//handle error
}
但该错误不是人类可读的(例如,在没有证书的情况下连接到SSL服务器会出现错误asio.ssl:335544539)。有没有更好的方法来显示错误?
答案 0 :(得分:29)
如果您可能使用boost::system::error_code
,可致电:
error.message()
获得更加人性化的信息。
使用operator<<
转换为:
os << ec.category().name() << ':' << ec.value()
Here您可以在error_code
中查看可用成员的详细概述。