我们知道,C#的continue语句可以让for循环跳到下一次循环,但若某次循环时出错,我们怎么重新进行一次本次循环呢?
简单循环比较好解决:
![]()
那若是多重循环呢?也是一样的:
简单循环比较好解决:
复制内容到剪贴板
程序代码

static void Main(string[] args)
{
bool err = true;
for (int i = 1; i <= 5; i++)
{
try
{
Console.WriteLine(i);
if (i == 1 && err)
{
throw new Exception("Exception");
}
}
catch
{
err = false;
i--; //重新进行本次循环
}
}
Console.ReadKey();
}
{
bool err = true;
for (int i = 1; i <= 5; i++)
{
try
{
Console.WriteLine(i);
if (i == 1 && err)
{
throw new Exception("Exception");
}
}
catch
{
err = false;
i--; //重新进行本次循环
}
}
Console.ReadKey();
}

那若是多重循环呢?也是一样的:
复制内容到剪贴板
程序代码

static void Main(string[] args)
{
bool err = true;
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
try
{
Console.WriteLine("{0},{1}", i, j);
if (i==2 && j == 3 && err)
{
throw new Exception("Exception");
}
}
catch
{
err = false;
j--; //重新进行本次循环
}
}
}
Console.ReadKey();
}
{
bool err = true;
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
try
{
Console.WriteLine("{0},{1}", i, j);
if (i==2 && j == 3 && err)
{
throw new Exception("Exception");
}
}
catch
{
err = false;
j--; //重新进行本次循环
}
}
}
Console.ReadKey();
}
