Làm cách nào để tôi loại trừ ngoại lệ trong phương thức này?Bắt ngoại lệ từ các cuộc gọi HttpWebRequest không đồng bộ trong một nhiệm vụ
private static Task<string> MakeAsyncRequest(string url)
{
if (!url.Contains("http"))
url = "http://" + url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Method = "GET";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
Task<WebResponse> task = Task.Factory.FromAsync(
request.BeginGetResponse,
asyncResult => request.EndGetResponse(asyncResult),
(object)null);
return task.ContinueWith(t => FinishWebRequest(t.Result));
}
Vị trí cụ thể tôi đang nhận được 404, 403, vv lỗi là:
Task<WebResponse> task = Task.Factory.FromAsync(
request.BeginGetResponse,
asyncResult => request.EndGetResponse(asyncResult),
(object)null);
tôi không thể tìm ra cách để xử lý chúng
Nó bây giờ đưa ra một ngoại lệ ở lại task.ContinueWith (t => FinishWebRequest (t.Result)); "Đã xảy ra thêm một số lỗi" – Jacqueline
@Jacqueline - Yêu cầu của bạn là ném ngoại lệ sau đó - các lỗi là gì? – Lee
Nó chỉ nói "Một hoặc nhiều lỗi đã xảy ra". – Jacqueline