Sto cercando di determinare il response
restituito dal metodo HttpClient
GetAsync
nel caso di errori 404 utilizzando C# e .NET 4.5.Come determinare uno stato di risposta 404 quando si utilizza HttpClient.GetAsync()
Al momento posso solo dire che si è verificato un errore piuttosto che lo stato dell'errore come 404 o timeout.
Attualmente il mio codice il mio codice è simile al seguente:
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() );
}
}
Il mio problema è che io sono in grado di gestire l'eccezione e determinarne lo stato e altri dettagli di cosa è andato storto.
Come faccio a gestire correttamente l'eccezione e interpretare ciò che gli errori si è verificato?
http://msdn.microsoft.com/en-us/library/system.exception.aspx dare un'occhiata a proprietà. Se è necessario stampare un messaggio, è possibile utilizzare 'e.Message'. Non sono sicuro, cosa stai cercando di fare. – Leri