Tôi đang cố gắng xác định response
được trả về theo phương pháp HttpClient
GetAsync
trong trường hợp lỗi 404 sử dụng C# và .NET 4.5.Cách xác định trạng thái phản hồi 404 khi sử dụng HttpClient.GetAsync()
Hiện tại tôi chỉ có thể biết rằng đã xảy ra lỗi thay vì trạng thái của lỗi như 404 hoặc hết thời gian chờ.
Hiện nay mã của tôi mã của tôi trông như thế này:
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() );
}
}
Vấn đề của tôi là tôi không thể xử lý các ngoại lệ và xác định tình trạng của nó và các chi tiết khác về những gì đã xảy ra.
Tôi xử lý đúng cách ngoại lệ và giải thích những lỗi nào đã xảy ra?
http://msdn.microsoft.com/en-us/library/system.exception.aspx hãy nhìn vào tài sản. Nếu bạn cần in tin nhắn, bạn có thể sử dụng 'e.Message'. Không chắc chắn, những gì bạn đang cố gắng làm. – Leri