、私は次のコードを持っている:問題のファイルが存在しない場合は例外を処理するか、nullをチェックしますか?
private async Task <string>IsolatedStorageReadTextFile(string uFileName)
{
string sRet = "";
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(uFileName);
if (file != null)
{
using (var inputStream = await file.OpenReadAsync())
using (var classicStream = inputStream.AsStreamForRead())
using (var streamReader = new StreamReader(classicStream))
{
while (streamReader.Peek() >= 0)
{
sRet = streamReader.ReadLine();
}
}
}
return sRet;
}
を、IDEでエラーが発生します:
I
1)させてくださいIDEのデバッグは、ワーナー(「この例外でブレークしないでください」と言う)このエラーを無視し、私はちょうど聞かせなければならない「(ファイル!= null)の場合は」ジョブ
を行います2)またはファイルが実際に存在するかどうかを確認する必要があります
3)try-catchを使用しますか?
私は答えに応じて、コードの重要な部分を追加する必要がありました:UWPに、アクセスしようとしてよりファイルが実際に存在するかどうかをチェックする他の方法があるように思わないので
private async Task <bool> LocalExists(string uFileName)
{
bool b = false;
//https://stackoverflow.com/questions/8626018/how-to-check-if-file-exists-in-a-windows-store-app
try
{
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(uFileName);
b = (file != null);
}
catch (Exception ex)
{
b = false;
}
return b;
}
これは、同じ例外がスローされますそれ:
How to check if file exists in a Windows Store App?
だから、疑問は残ります。
にUWPアプリケーションのための期限が切れだ2011年にWindowsストアのアプリのために正しかったです。 File.Existsは呼び出しの前に多くの面倒を避けることができます。 (100%安全ではありませんが...) – Steve