HttpResponseMessage.EnsureSuccessStatusCode()
的使用模式是什么?它处理消息的内容并抛出HttpRequestException
,但是我看不出如何以编程方式处理它,这与泛型Exception
有什么不同.例如,它不包括HttpStatusCode
,这将是方便的.
有没有办法从中获取更多信息?有人能展示EnsureSuccessStatusCode()
和HttpRequestException的相关使用模式吗?
HttpResponseMessage.EnsureSuccessStatusCode()
的使用模式是什么?它处理消息的内容并抛出HttpRequestException
,但是我看不出如何以编程方式处理它,这与泛型Exception
有什么不同.例如,它不包括HttpStatusCode
,这将是方便的.
有没有办法从中获取更多信息?有人能展示EnsureSuccessStatusCode()
和HttpRequestException的相关使用模式吗?
EnsureSuccessStatusCode
的惯用用法是,当您不想以任何特定方式处理失败 case 时,简洁地验证请求是否成功.当您想要快速地建立客户机原型时,这尤其有用.
当您决定要以特定方式处理失败 case 时,do not执行以下操作.
var response = await client.GetAsync(...);
try
{
response.EnsureSuccessStatusCode();
// Handle success
}
catch (HttpRequestException)
{
// Handle failure
}
这会抛出一个异常以立即捕获它,这没有任何意义.HttpResponseMessage
的IsSuccessStatusCode
房产就是为了这个目的而存在的.改为执行以下操作.
var response = await client.GetAsync(...);
if (response.IsSuccessStatusCode)
{
// Handle success
}
else
{
// Handle failure
}