您好我使用下面的代码检查5个网址,但如果ex:url no 3未找到404代码将停止检查第4个网址,无论如何我可以做代码运行直到网址列表完成?
private void button2_Click(object sender, EventArgs e)
{
try
{
for (i = 0; i < listBox1.Items.Count; i++)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(listBox1.Items[i].ToString());
if (response.StatusCode == HttpStatusCode.OK)
{
listBox3.Items.Add(listBox1.Items[i].ToString());
}
}
}
catch (WebException x)
{
}
}
答案 0 :(得分:1)
可能会在应用程序的request.GetResponse()
部分抛出异常。
但是无论如何,在你的代码之后,异常编译器会突破循环,因为你的try / catch在你的循环之外。因此,请将代码更改为:
private void button2_Click(object sender, EventArgs e)
{
for (i = 0; i < listBox1.Items.Count; i++)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(listBox1.Items[i].ToString());
if (response.StatusCode == HttpStatusCode.OK)
{
listBox3.Items.Add(listBox1.Items[i].ToString());
}
}
catch(Exception)
{
// do whatever you want
}
}
}
答案 1 :(得分:0)
将异常处理移至循环内。这样,如果有异常,你就不会突破循环。