for (int i = coll.PageStart; i < coll.PageEnd; i++)
            {
                url = coll.GetUrl.Replace("{$page$}", i.ToString());
                WebRequest request;
                request=WebRequest.Create(url);//请求uri
              
                stream = request.GetResponse().GetResponseStream();//当请求的URL页面有错误时这里就会报错            
               
                strRead = new StreamReader(stream, code);//读取流
                HtmlCode = strRead.ReadToEnd();
                strRead.Close();
            } 比如,请求一个ASP页面 http://xxx.com/show.asp?id=123  这个页面本身就有执行时错误,在浏览器中可以看到错误提示,   
有什么办法捕获这个错误且继续下轮循环?  比如我想请求 show.asp?id=100 到 id=200的页.这其中有些页面可能存在错误,当请求错误时不管当前的前面进行一轮循环?在线等!

解决方案 »

  1.   


    for (int i = coll.PageStart; i < coll.PageEnd; i++)
                {
    try
    {
                    url = coll.GetUrl.Replace("{$page$}", i.ToString());
                    WebRequest request;
                    request=WebRequest.Create(url);//请求uri
                  
                    stream = request.GetResponse().GetResponseStream();//当请求的URL页面有错误时这里就会报错            
                   
                    strRead = new StreamReader(stream, code);//读取流
                    HtmlCode = strRead.ReadToEnd();
                    strRead.Close();
    }
    catch{}
                }
      

  2.   

    for (int i = coll.PageStart; i < coll.PageEnd; i++)
    {
      try
      {
          url = coll.GetUrl.Replace("{$page$}", i.ToString());
          WebRequest request;
          request=WebRequest.Create(url);//请求uri
                  
          stream = request.GetResponse().GetResponseStream();           
                   
           strRead = new StreamReader(stream, code);//读取流
           HtmlCode = strRead.ReadToEnd();
          strRead.Close();  }
      catch()
      {
         continue;
      }
    }