我正在用 C#(.NET Web 服务)创建文件并且不想覆盖现有文件。
方法似乎是构造一个带有 FileMode.CreateNew 集的 FileStream。如果文件存在,它实际上会抛出异常。
但是我如何识别此异常而不是文件创建引发的其他可能异常? http://msdn.microsoft.com/en-us/library/47ek66wy.aspx 处的文档将这种情况列为“IOException”,这显然是含糊不清的,因为其他事情也可能导致这种情况。
这里的答案是我捕获 IOException 然后只执行 File.Exists 吗?
最佳答案
您可以从异常中获取错误代码,如下所示:
int hr = Marshal.GetHRForException( ex );
如果文件存在,它将是 0x80070050。
关于c# - 在 C# 中针对现有文件的 CreateNew 的 FileStream 构造函数抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220554/