首页 > 解决方案 > 为什么 HttpClient 捕获连接错误?

问题描述

WebException我已经更新了 HttpClient,现在它在无法连接到互联网时不再抛出,打破了我对这种情况的处理。

这是真的吗?它是 Xamarin.Forms 框架功能吗?如果是这样,我怎样才能让它使用以前的行为?

标签: xamarin.forms

解决方案


现在正在投掷TaskCanceledException。它也是 throwingHttpRequestException但没有 inner WebException,它曾经在那里。

但是,鉴于我使用这些异常处理程序来检查互联网连接出现错误,我想我不妨捕获并重新抛出所有内容。像这样...

try
{
    return await action();
}
catch
{
    connectivityHelper.AssertConnected();

    throw;
}

如果AssertConnected确定没有 Internet 连接,它会用自己的自定义抛出覆盖抛出NoConnectivityException


推荐阅读