EnsureSuccessStatusCode 的使用以及它抛出的 HttpRequestException 的处理

2023-12-19

使用模式是怎样的HttpResponseMessage.EnsureSuccessStatusCode()?它处理消息的内容并抛出HttpRequestException,但我不明白如何以编程方式处理它与通用的不同Exception。例如,它不包括HttpStatusCode,这会很方便。

有什么办法可以从中获取更多信息吗?谁能展示两者的相关使用模式EnsureSuccessStatusCode()和 HttpRequestException?


的惯用用法EnsureSuccessStatusCode https://learn.microsoft.com/en-us/uwp/api/windows.web.http.httpresponsemessage.ensuresuccessstatuscode是当您不想以任何特定方式处理失败情况时,简明地验证请求是否成功。当您想要快速构建客户端原型时,这尤其有用。

当您决定要以特定方式处理失败案例时,do not请执行下列操作。

var response = await client.GetAsync(...);
try
{
    response.EnsureSuccessStatusCode();
    // Handle success
}
catch (HttpRequestException)
{
    // Handle failure
}

这抛出异常只是为了立即捕获它,这没有任何意义。这IsSuccessStatusCode的财产HttpResponseMessage就是为了这个目的。请执行以下操作。

var response = await client.GetAsync(...);
if (response.IsSuccessStatusCode)
{
    // Handle success
}
else
{
    // Handle failure
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EnsureSuccessStatusCode 的使用以及它抛出的 HttpRequestException 的处理 的相关文章

随机推荐