Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 忽略数组中的异常_C#_Sharepoint - Fatal编程技术网

C# 忽略数组中的异常

C# 忽略数组中的异常,c#,sharepoint,C#,Sharepoint,我有一个元素数组。我在循环中运行它。假设如果它有任何错误,它必须跳过该元素并继续到下一个元素 代码示例 foreach (Field field in fields) { try { string s = item.FieldValues[field.Title].ToString(); } catch (Exception ex) { Label label = new Label(); form1.Con

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

代码示例

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异常。我想忽略它并传递到下一个字段

不要使用异常来驱动代码。SharePoint中的字段是一个
字典
类型,因此您可以轻松检查字段是否存在
ContainsKey

foreach (Field field in fields)
{
    if(item.FieldValues.ContainsKey(field.Title)
    {
        string s = item.FieldValues[field.Title].ToString();
        .......
    }
    Response.Write(field.Title);
}
使用异常,只是跳转到代码的另一部分,实际上是一种对性能有致命影响的糟糕做法

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



您是说字符串s=item。。。。line正在抛出异常?请在问题bodyTry console writing字段中进行澄清。标题位于字符串变量上方的行中。key not found异常中的最后一个应为item.FieldValues不具有的键