1

存在しない可能性のあるファイルにアクセスしようとしています。

var localFolder = Windows.Storage.ApplicationData.current.localFolder;

localFolder.getFileAsync(stateFile).then(function (file) {
            Windows.Storage.FileIO.readTextAsync(file).then(function (text) {
        // do something with the text

    });
}, function (err) {
    // log error, load dummy data

});

ファイルが存在しない場合、「fail」メソッドが呼び出されますが、「ファイルが見つかりません」という例外を除いてアプリケーションが停止した後にのみ発生します。デバッガーに対して「続行」を押した場合にのみ、「失敗」メソッドに続行します。

私は何が間違っているのですか?事前に存在を確認する必要がありますか?

4

2 に答える 2

2

ファーストチャンスの例外が表示されます。デバッガーはスローの時点で壊れています。デバッガダイアログの[続行]ボタンを押すと、アプリは実行を継続し、例外ハンドラが実行されます。

これを変更するには、[デバッグ|例外]メニューを使用して、初回の例外をオフにします。

于 2012-05-15T20:09:56.773 に答える
1

私はこの同じ問題に2、3日間苦労していて、最終的に次の解決策に到達しました。getFilesAsync関数を使用してフォルダー内のすべてのファイルのリストを取得し、このリストを調べて必要なファイルが存在するかどうかを確認します。その後、スローせずにgetFileAsynsを呼び出すことができます。あまりきれいではありませんが、私にはうまくいきます。開発者が例外をオフにできると仮定することは最善のアドバイスではないことに同意します...私の意見では、この問題はRT実装のバグと見なされるべきです。

于 2012-06-04T17:25:57.673 に答える