在.NET 4中,有這種Directory.EnumerateFiles()方法,遞歸似乎很方便。
但是,如果在遞歸中發生異常,我該如何繼續/恢復並繼續枚舉其餘文件?是否有從Directory.EnumerateFiles中的異常中恢復的方法?
try
{
var files = from file in Directory.EnumerateFiles("c:\\",
"*.*", SearchOption.AllDirectories)
select new
{
File = file
};
Console.WriteLine(files.Count().ToString());
}
catch (UnauthorizedAccessException uEx)
{
Console.WriteLine(uEx.Message);
}
catch (PathTooLongException ptlEx)
{
Console.WriteLine(ptlEx.Message);
}
你也許可以用額外的錯誤恢復,你需要幾行寫你自己的版本。 – leppie 2010-04-01 10:21:32