忽略数组中的异常

时间:2015-03-21 17:20:50

标签: c# sharepoint

我有一系列元素。我在循环中运行它。假设它有任何错误,它必须跳过该元素并继续下一个元素。

代码示例

foreach (Field field in fields)
{
    try
    {
        string s = item.FieldValues[field.Title].ToString();
    }
    catch (Exception ex)
    {
        Label label = new Label();
        form1.Controls.Add(label);
        label.Text = ex.Message;
    }
    Response.Write(field.Title);
}

它在item.field行中显示key not found异常。我想忽略它并转到下一个字段

1 个答案:

答案 0 :(得分:2)

不要使用例外来驱动代码。 SharePoint中的FieldValuesDictionary<string, object>类型,因此您可以轻松检查您的字段是否存在ContainsKey

foreach (Field field in fields)
{
    if(item.FieldValues.ContainsKey(field.Title)
    {
        string s = item.FieldValues[field.Title].ToString();
        .......
    }
    Response.Write(field.Title);
}

使用异常,只是跳转到代码的另一部分实际上是一种糟糕的做法,对性能产生致命影响。

如果有办法,请尽量避免导致异常的可预测条件。

See Performance Rule References: Rule DA0007
See Exception Handling Best Practices