当Catch块中存在异常时,继续到ForEach块中的下一个blob

时间:2016-10-07 16:29:14

标签: c# xml linq azure

我在Azure存储容器中有很多xmls。我编写代码来从那些xmls中去除不必要的数据元素。列出我使用的不同文件夹结构中的所有xmls

var blobs = container.ListBlobs(prefix: <Root Location of Blobs>, useFlatBlobListing: true);
 foreach (CloudBlockBlob blob in blobs)

要解析我正在使用Linq的xml。

我面临的问题是,很少有xmls缺少正确的格式,或者很少有xmls没有关闭文字。我想捕获异常并从处理中跳过该xml文件并继续下一个。如何使用Try catch块?

我得到的例外是System.Xml.XmlException

1 个答案:

答案 0 :(得分:-1)

尝试

    foreach (CloudBlockBlob blob in blobs){               
             bool isError = false;   
            try   
            {                          
               // do your code here;   
            }catch(Exception ex){
                isError = true;
            }
           if(isError) continue;
        }

更新:

void Main()

    {
        string[] list = new string[]{"bob", "jack", "tom", "sparrow"};
        foreach(string li in list){
            try{
                if(String.Equals(li, "tom")){
                    throw new Exception("Fault");
                }
                Debug.WriteLine(li);
            }catch(Exception ex){
                Debug.WriteLine(ex.Message);
                continue;
            }
        }
    }

打印:

bob
jack
Fault
sparrow