xamarin.forms - 为什么 HttpClient 捕获连接错误?
问题描述
WebException
我已经更新了 HttpClient,现在它在无法连接到互联网时不再抛出,打破了我对这种情况的处理。
这是真的吗?它是 Xamarin.Forms 框架功能吗?如果是这样,我怎样才能让它使用以前的行为?
解决方案
现在正在投掷TaskCanceledException
。它也是 throwingHttpRequestException
但没有 inner WebException
,它曾经在那里。
但是,鉴于我使用这些异常处理程序来检查互联网连接出现错误,我想我不妨捕获并重新抛出所有内容。像这样...
try
{
return await action();
}
catch
{
connectivityHelper.AssertConnected();
throw;
}
如果AssertConnected
确定没有 Internet 连接,它会用自己的自定义抛出覆盖抛出NoConnectivityException
。
推荐阅读
- c - unload() 函数的问题(CS50 第 5 周:Speller)
- javascript - 当没有按钮时,如何防止获取请求在 Javascript 中重新加载页面?
- python - 创建新列,该列是按日期计算的一列和另一列的总和
- python - 有没有办法在 Telegram 中实现重定向到机器人/频道?
- databricks - 可以使用 Databricks 社区版生成数据访问令牌吗?
- sql-server - 如何在 SQL Server 的 PIVOT 语句中调用参数
- javascript - tooltip.pointFormat 在 vue 中显示为 nil
- javascript - Highstocks 日期工具提示在数据更新后丢失格式
- entity-framework - EF Code First 关系和关联实体
- python - 如何通过过滤另一个数据框的列来创建新的数据框