如果找不到404,则代码停止
本文关键字:代码 找不到 如果 | 更新日期: 2023-09-27 18:28:53
嗨,我使用下面的代码来检查5个url,但如果没有找到ex:url no3,代码将停止检查第4个url,无论如何,我可以让代码运行到url列表完成?
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)
{
}
}
异常可能在应用程序的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
}
}
}
将异常处理移动到循环中。这样,如果出现异常,就不会脱离循环。