Windows Phone 8、C ++/CXでI/O例外をどのようにキャッチしますか?
編集:これが完全な例
ですファイル「hello.txt」が存在するかどうかを確認します:
StorageFile^ Testme(String^ fileName)
{
StorageFolder^ item = ApplicationData::Current->LocalFolder;
try
{
task<StorageFile^> getFileTask(item->GetFileAsync("hello.txt"));
getFileTask.then([](StorageFile^ storageFile)
{
return storageFile;
});
}
catch (Exception^ ex)
{
OutputDebugString(L"Caught the exception");
}
return nullptr;
}
「hello.txt」が存在する場合、メソッドTestmeはファイルptrをチャームのように返します。
「hello.txtが存在しない場合、例外FileNOtFoundがスローされないだけでなく、デバッガウィンドウに次のように表示されてクラッシュします:
MyPhoneApp.exeの0x71D49C01(Msvcr110d.dll)で未処理の例外:無効なパラメータが渡されました無効なパラメータを致命的と見なす関数に。この例外のハンドラがあれば、プログラムは安全に続行できます。
何が問題で、WP8にファイルが存在するかどうかをエレガントにチェックするにはどうすればよいですか?
誰かが答えてくれることを本当に願っています...ありがとう。