我正在使用 enumeratefiles 列出目录中的所有文件。它在遇到包含非法字符的文件名时抛出异常,然后停止列出文件的 foreach 循环。尽管出现异常,如何使 foreach 循环继续列出文件名?有任何想法吗?
代码:
try {
DirectoryInfo directory = new DirectoryInfo(targetPath);
IEnumerable<FileInfo> allfiles = directory.EnumerateFiles("*.*", SearchOption.AllDirectories);
foreach (FileInfo file in allfiles)
{
Console.WriteLine(file.Name);
}
}
catch (ArgumentException o)
{
Console.WriteLine("Error: {0}", o.Message);
}