5

如果我有 Metro StorageFolder,我可以使用 GetFileAsync(fileName) 获取文件。

但是,我怎么知道文件是否存在呢?现在,我发现了一个异常,但这似乎不是正确的做法。

4

1 回答 1

9

根据微软的说法,他们希望我们捕获异常。他们给我的理由是,他们提供 File.Exists API 会使您面临竞争条件,在这种条件下,文件的存在可能在您检查和尝试使用文件之间发生变化。由于这种竞争条件,无论如何您都必须编写异常处理代码,一旦完成,调用 File.Exists API 几乎没有什么好处。我不同意这个论点,但这就是我们所坚持的。

于 2012-04-09T15:25:33.880 回答