簡體   English   中英

如何從其他異常中分別捕獲boost asio boost :: system :: error_code連接異常?

[英]How to catch boost asio boost::system::error_code connect exception separatly from other exceptions?

Boost asio具有這樣的套接字連接api 我有這么簡單的代碼:

try
{
    std::string addr;
    std::string port;
    sscanf(tcpUrl.c_str(), "tcp://%[^:]:%d", &addr, &port);

    boost::asio::io_service io_service;

    tcp::resolver resolver(io_service);
    tcp::resolver::query query(tcp::v4(), addr.c_str(), port.c_str());
    tcp::resolver::iterator iterator = resolver.resolve(query);

    tcp::socket s(io_service);
    s.connect(*iterator);
    Sleep(250);
    s.close();
}
catch (std::exception& e)
{
    return -1;
}

我只想嘗試連接並捕獲boost :: system :: error_code connect異常。 只有它。 我不需要再教了。 並且我需要返回-1。 怎么做這樣的事情?

catch( const boost::system::system_error& ex )
{
  return -1;
}

請按const引用捕獲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM