0

私のコードのどこかに、次の行があります。

return _store.OpenFile(path, fileMode);

fileMode時々FileMode.Createそして時々あることでFileMode.Open。すべてがうまく機能し、常に有効なストリームを取得し、必要に応じてファイルが正しく作成されます。

しかし、VS出力で、上記の行が次のようなメソッドを呼び出すたびに、次のメッセージが表示されることがわかりました。

タイプ'System.IO.FileNotFoundException'の最初のチャンスの例外がmscorlib.dllで発生しました

このエラーは、ファイルの作成時に発生します。また、ファイルが上書きされた(そして明らかに存在する)ときにも発生します。

すべてが完全に機能するので、これらのエラーについて知りたいだけです。

ありがとう、

編集:と同じことnew IsolatedStorageFileStream(...)。すべて正常に動作しますが、それでも「ファーストチャンス例外」メッセージが表示されます。

4

2 に答える 2

0
var isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream isfs;

if (!isf.FileExists(_filename))
    isfs = new IsolatedStorageFileStream(_filename, System.IO.FileMode.Create, isf);
else
    isfs = new IsolatedStorageFileStream(_filename, System.IO.FileMode.Open, isf);


var writer = XmlWriter.Create(isfs);
xml.Save(writer);

writer.Close();
isfs.Close();
isfs.Dispose();
isf.Dispose();
于 2012-11-30T11:45:23.650 に答える
0

答えが見つかりました。

これがVSデバッガーの動作方法です。{{catch}}ブロックによってキャッチされたすべての例外について、「ファーストチャンス例外」メッセージがVS出力に表示されます。したがって、ここでは、内部的に、{{OpenFile}}メソッドがtry/catchブロックを使用してファイルが存在するかどうかを確認していると推測できます。

于 2012-12-18T09:17:18.957 に答える