当Catch块中出现异常时,继续执行ForEach块中的下一个blob
本文关键字:ForEach 执行 下一个 继续 blob Catch 异常 | 更新日期: 2023-09-27 18:12:07
我在Azure存储容器中有许多xml。我编写了一些代码来从这些xml中去掉不必要的数据元素。为了列出不同文件夹结构中的所有xml,我使用
var blobs = container.ListBlobs(prefix: <Root Location of Blobs>, useFlatBlobListing: true);
foreach (CloudBlockBlob blob in blobs)
和解析xml我使用Linq.
我面临的问题是有一些xml缺少适当的格式或一些xml没有结束文字。我想捕获异常并从处理中跳过该xml文件,继续处理下一个xml文件。如何使用Try catch块做到这一点?
我得到的例外是System.Xml.XmlException
Try
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