c++ - 当 `boost::asio::ip::tcp::resolver::resolve()` 失败时应该提供 `boost::system::error_code` 值的C++?

  显示原文与译文双语对照的内容

如果无法解析主机/服务,我想返回 boost::system::error_code indicationg 。 主机/服务查找失败的原因可能有多种( 比如 。 网络连接问题或者无效参数) 。

应该返回什么?

时间: 原作者:

resolve() outside是不可能的。 但是,通过使用带有 error_code& 作为输出参数的重载之一,可以使它为你实现:

  • iterator resolve(const query & q, boost::system::error_code & ec)
  • iterator resolve(const endpoint_type & e, boost::system::error_code & ec)

然后返回它所设置的error_code 。 我相信这将把 errno 或者 h_errno 包起来。

原作者:
...