Próbuję określić metodę response
zwróconą przez HttpClient
za pomocą C# i .NET 4.5.Jak określić status odpowiedzi 404 podczas korzystania z HttpClient.GetAsync()
Obecnie mogę tylko stwierdzić, że wystąpił błąd, a nie status błędu, taki jak 404 lub limit czasu.
Obecnie mój kod mój kod wygląda następująco:
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() );
}
}
Moim problemem jest to, że nie jestem w stanie obsłużyć wyjątek i określić jego status i innych szczegółów, co poszło źle.
Jak poprawnie obsłużyć wyjątek i zinterpretować, jakie błędy wystąpiły?
http://msdn.microsoft.com/en-us/library/system.exception.aspx przyjrzeć właściwości. Jeśli chcesz wydrukować wiadomość, możesz użyć 'e.Message'. Nie jestem pewien, co próbujesz zrobić. – Leri