C# Can';t忽略404未找到httpwebrequest

C# Can';t忽略404未找到httpwebrequest,c#,C#,我似乎不能忽视404找不到 我试图让它添加到一个文本文件,这样我就可以继续请求,但程序刚刚关闭 private static readonly Thread Awesome = new Thread(Request); private const string Url = "http://whatever/"; public static void Request() { try { const string filename = "names.txt";

我似乎不能忽视404找不到

我试图让它添加到一个文本文件,这样我就可以继续请求,但程序刚刚关闭

private static readonly Thread Awesome = new Thread(Request);

private const string Url = "http://whatever/";

public static void Request() {
    try {

        const string filename = "names.txt";
        Reader.Readtext(filename);

        foreach (var names in Reader.Lastname) {

            var request = (HttpWebRequest) WebRequest.Create(Url + names);
            Console.WriteLine("Request Sent: " + Url + names);

            var response = (HttpWebResponse) request.GetResponse();
            var sr = new System.IO.StreamReader(response.GetResponseStream());

            sr.ReadToEnd();
        }

    }
    catch (WebException ex)
    {
        if (ex.Status == WebExceptionStatus.ProtocolError)
        {
            var resp = ex.Response as HttpWebResponse;
            if (resp != null && resp.StatusCode == HttpStatusCode.NotFound)
            {
                const string filename = "error.txt";
                Writer.writetofile(filename, resp.ToString());
            }
        }
    }
}

private static void Main()
{

    Awesome.Start();
}

可能重复-我已经捕捉到了它,正在尝试忽略它。您不会再次抛出它,因此唯一可以得到错误的地方是在写入文件时。确保
Writer.writetofile
没有失败。将您的try catch移到您的foreach中loop@Jonesy谢谢你,它成功了:)
private static readonly Thread Awesome = new Thread(Request);

private const string Url = "http://whatever/";

public static void Request() {
        const string filename = "names.txt";
        Reader.Readtext(filename);

        foreach (var names in Reader.Lastname) {

            var request = (HttpWebRequest) WebRequest.Create(Url + names);
            Console.WriteLine("Request Sent: " + Url + names);
            try{
                var response = (HttpWebResponse) request.GetResponse();
                var sr = new System.IO.StreamReader(response.GetResponseStream());

                sr.ReadToEnd();            
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.ProtocolError)
                {
                    var resp = ex.Response as HttpWebResponse;
                    if (resp != null && resp.StatusCode == HttpStatusCode.NotFound)
                    {
                        const string filename = "error.txt";
                        Writer.writetofile(filename, resp.ToString());
                    }
                }
            }
        }
}

private static void Main()
{

    Awesome.Start();
}