请教个boost::asio的问题


#1

网上看到一些asio的链接示例是这样写的
void handle_connect(const boost::system::error_code &error) { if (error) { if (error.value() != boost::system::errc::operation_canceled) { std::cerr << boost::system::system_error(error).what() << std::endl; }

        socket_.close();
        return;
    }

这里为什么要对 boost::system::errc::operation_canceled 这个错误做特殊处理


#2

应该跟boost::asio::error::operation_aborted一样的。 如果是被cancelled就不需要打印出来了


#3

被取消并不是错误嘛。这是 graceful exit 机制所必须的。