connect()后提升异常

时间:2014-04-01 10:30:30

标签: c++ boost boost-asio

NetworkInterface::NetworkInterface(void):
    sock(io_service)
{
    // ------------------
    // CONNECT TO SERVER
    // ------------------
    tcp::resolver resolver(io_service);
    string ip = "127.0.0.1";
    tcp::resolver::query query(ip, "daytime");
    tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);

    sock.connect(*endpoint_iterator);
}

我试图让这项工作成功但是在调用connect方法之后我得到了一个运行时异常:

Unhandled exception at at 0x754E2EEC in TestClient.exe: Microsoft C++ exception: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> > at memory location 0x0072F140.

我不知道我做错了什么。我试图做的就是让sock变量在整个类中使用(所以我已经在标题中声明了它,你可能已经注意到了)。

编辑: 至于包含,我在include目录中包含了boost根。以及库目录中的boost root / stage / lib路径。我还为其他依赖项添加了一个lib文件。 (属性 - &gt;链接器 - &gt;输入)

1 个答案:

答案 0 :(得分:1)

通过捕获异常,您应该能够看到实际的错误消息,以便您可以看到实际问题:

NetworkInterface::NetworkInterface(void):
   sock(io_service)
{
    try {
        // your code here..
    } catch (const std::exception& error) {
        // Should print the actual error message
        std::cerr << error.what() << std::endl;
    }
}