我有一系列元素。我在循环中运行它。假设它有任何错误,它必须跳过该元素并继续下一个元素。
代码示例
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异常。我想忽略它并转到下一个字段
答案 0 :(得分:2)
不要使用例外来驱动代码。 SharePoint中的FieldValues是Dictionary<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