Я пытаюсь определить response
, возвращаемый методом HttpClient
GetAsync
в случае 404 ошибок с использованием С# и .NET 4.5.
В настоящее время я могу только сказать, что произошла ошибка, а не состояние ошибки, такое как 404 или тайм-аут.
В настоящее время мой код мой код выглядит следующим образом:
static void Main(string[] args)
{
dotest("http://error.123");
Console.ReadLine();
}
static async void dotest(string url)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = new HttpResponseMessage();
try
{
response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
Console.WriteLine(response.StatusCode.ToString());
}
else
{
// problems handling here
string msg = response.IsSuccessStatusCode.ToString();
throw new Exception(msg);
}
}
catch (Exception e)
{
// .. and understanding the error here
Console.WriteLine( e.ToString() );
}
}
Моя проблема в том, что я не могу обработать исключение и определить его статус и другие детали того, что пошло не так.
Как правильно обработать исключение и интерпретировать ошибки?