在try语句上使用try-catch块检查条件是否正确?

时间:2018-06-29 14:20:43

标签: arrays list for-loop if-statement try-catch

我只是想知道使用try-catch块检查条件和if语句之间的最佳实践是什么?例如,尝试在循环中低于列表的范围:

List<int> foo = new List<int>();
for(int cpt=1; cpt<=10; i++)
{
    if (cpt > foo.Count) foo.Add(cpt);
    Console.WriteLine(foo[cpt]);
}

但是我们可以通过使用try-catch来实现:

List<int> foo = new List<int>();
int bar = 0;
for(int cpt=1; cpt<=10; i++)
{
    try
    {
        Console.WriteLine(foo[cpt]);
    }
    catch(ArgumentOutOfRangeException)
    {
        foo.Add(cpt);
    }
}

因此,在此示例中,显然显然,if语句更好,因为即使我们超出范围,它也能够显示foo[cpt],但是在另一种情况下,try-catch块可以更有效率吗?

0 个答案:

没有答案