gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:00:22 25 4
gpt4 key购买 nike

HttpResponseMessage.EnsureSuccessStatusCode()的使用模式是什么?它处理消息的内容并抛出 HttpRequestException,但我不知道如何以编程方式处理它,这与通用 Exception 有何不同。例如,它不包含 HttpStatusCode,这本来会很方便。

有什么办法可以从中获取更多信息吗?任何人都可以显示 EnsureSuccessStatusCode() 和 HttpRequestException 的相关使用模式吗?

最佳答案

EnsureSuccessStatusCode 的惯用用法是当您不想以任何特定方式处理失败情况时,简明地验证请求是否成功。当您想要快速构建客户端原型(prototype)时,这尤其有用。

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

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

这抛出一个异常只是为了立即捕获它,这没有任何意义。 HttpResponseMessageIsSuccessStatusCode 属性就是用于此目的的。请执行以下操作。

var response = await client.GetAsync(...);
if (response.IsSuccessStatusCode)
{
// Handle success
}
else
{
// Handle failure
}

关于.net - EnsureSuccessStatusCode 的使用以及它抛出的 HttpRequestException 的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com