Метод EnsureSuccessStatusCode
При успехе метод возвращает
тот же экземпляр ответа.
При коде вне 2xx
бросает HttpRequestException.
Флаг успеха -
IsSuccessStatusCode.
Синтаксис
HttpResponseMessage ok = response.EnsureSuccessStatusCode();
Пример
Давайте вызвать метод для
OK:
using System;
using System.Net;
using System.Net.Http;
class Program
{
static void Main()
{
HttpResponseMessage response =
new HttpResponseMessage(HttpStatusCode.OK);
response.EnsureSuccessStatusCode();
int res = (int)response.StatusCode;
Console.WriteLine(res);
}
}
Результат выполнения кода:
200
Пример
Давайте проверить, что метод возвращает тот же ответ:
using System;
using System.Net;
using System.Net.Http;
class Program
{
static void Main()
{
HttpResponseMessage response =
new HttpResponseMessage(HttpStatusCode.OK);
HttpResponseMessage same = response.EnsureSuccessStatusCode();
bool res = ReferenceEquals(response, same);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте вызвать метод для
404:
using System;
using System.Net;
using System.Net.Http;
class Program
{
static void Main()
{
HttpResponseMessage response =
new HttpResponseMessage(HttpStatusCode.NotFound);
try
{
response.EnsureSuccessStatusCode();
}
catch (HttpRequestException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
IsSuccessStatusCode,
без исключения -
StatusCode,
код ответа -
HttpStatusCode,
константы кодов -
HttpResponseMessage,
обзор