首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在遍历FileSystemInfo[]时,我的C#应用程序崩溃而无异常

在遍历FileSystemInfo[]时,我的C#应用程序崩溃而无异常
EN

Stack Overflow用户
提问于 2012-04-03 21:31:31
回答 1查看 1.1K关注 0票数 0

我有一个应用程序,可以轮询目录中新添加的文件并处理任何新文件。它是一个运行在Windows7上的C# (.NET 4)应用程序,目录实际上是一个网络共享。

问题是,当迭代遍历文件以检查它们是否存在时,应用程序有时会崩溃而不抛出异常。(我确实使用了try-catch,并且没有非托管代码、委托代码或任何异常。这是一个简单的应用程序)

迭代代码如下所示:

代码语言:javascript
复制
System.IO.DirectoryInfo dp = new System.IO.DirectoryInfo(destinationPath);
System.IO.FileSystemInfo[] destinationFiles = dp.GetFileSystemInfos();

foreach (FileSystemInfo fileSysInfo in destinationFiles)
{
  string filePath = fileSysInfo.FullName;
  if (filePath.EndsWith(FILE_VALID_EXT) && !Directory.Exists(filePath) && !File.Exists(filePath + FILE_PROCESSED_EXT))
  {
    // Do processing. It doesn't reach this point! I know because I have a logging statement.
  }
}

代码失败是因为远程目录(暂时)不可用吗?还是因为文件或目录上有某种锁?

我怎样才能避免这种情况?也许有一种更安全的方式来使用C#文件I/O。

任何建议都很感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 03:50:47

通常,当.net应用程序在没有通知的情况下崩溃时,是因为堆栈溢出。这只是一个想法:检查您正在枚举的目录结构是否具有导致无限循环的符号链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9994358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档