如何检测现有文件引起的System.IO.IOException?

2024-01-25

我想创建并打开一个文件,但前提是该文件不存在。我不想使用 File.Exists,因为在创建同名文件后会切换线程。

如何检查 System.IO.IOException 异常是否是由现有文件引起的?我不想解析错误消息(即使它可以像 .indexOf("exist") 一样简单)

我应该怎么做?


您应该避免根据 Exception.Message 属性的内容做出逻辑决策。这被定义为人类可读的消息,而不是供程序读取的消息。此类消息如有更改,恕不另行通知。

人类可读的消息经常会发生变化,以使它们更容易被人类阅读。这不会让你的程序变得更快乐。


正如你可能知道的那样,依赖于人类可读消息的程序逻辑问题是我的一个小烦恼 - 我不会告诉你多久,因为这会让我感觉自己老了。这让我分心了一些本应显而易见的事情。

请检查您是否收到System.IO.FileNotFoundException http://msdn.microsoft.com/en-us/library/system.io.filenotfoundexception.aspx当文件不存在时。尝试捕获它而不是 IOException。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测现有文件引起的System.IO.IOException? 的相关文章

随机推荐