Skip to content

大神,请教一下,使用C++ Rest SDK异步请求一个错误的地址,为什么捕获不到异常,而且程序会死机? #2

@zhanMan

Description

@zhanMan

void sendHTTP(std::string strurl)
{
try
{
std::wstring url = StringToWString(strurl);
web::http::client::http_client_config client_config;
client_config.set_timeout(std::chrono::seconds(10000));
web::http::client::http_client client(url, client_config);
auto task = client.request(web::http::methods::POST);
}
catch (web::uri_exception)
{
std::cout << "uri_exception" << std::endl;
}
catch (web::json::details::json_error)
{
std::cout << "json_error" << std::endl;
}
catch (web::json::json_exception)
{
std::cout << "json_exception" << std::endl;
}
catch (web::web_proxy::web_proxy_mode)
{
std::cout << "web_proxy_mode" << std::endl;
}
catch (...)
{
std::cout << "sendHTTP error" << std::endl;
}

// .then([](web::http::http_response resp) {
// return resp.extract_string();
//}).then([](utility::string_t jsonStr)
//{
// return jsonStr;
//});
//task.wait();
//utility::string_t respStr = task.get();
}

int main()
{
while(true)
{
Sleep(10);
std::string URL = "http://127.0.0.1:8080/test/test.go&data="+ URLEncode("{"row":[{"test":34,"test2" : 1}, {"test":34,"test2" : 1}]}");//网址不存在
sendHTTP(URL);
}
return 0;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions