C#的for循环怎么重新进行本次循环?

我们知道,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();
}



那若是多重循环呢?也是一样的:

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();
}



评论: 0 | 引用: 0 | 查看次数: 6127
发表评论
登录后再发表评论!