未処理の例外イベントのハンドラを作成しています。これは例外をファイルにダンプし、さらに解析するためにサーバに送信します。今のところ、クラッシュが起きたことが示されます。私はそのイベントを購読した。その方法では、エラーを処理するための関数を呼び出しました。私はこの方法では、このコードを書いたときしかし、:Universal Appsの未処理例外ハンドラの非同期メソッド
public async Task HandleException(Exception exception)
{
var dialog = new MessageDialog(exception.Message, "Exception occurred");
await dialog.ShowAsync();
}
とデバッグモードでのVisual Studioを、それを実行するには、Visual Studioのジャストインタイムデバッガを示しています。最初は、GUIスレッドが死んでいるときにメッセージボックスを表示しようとしているのが問題だと思っていました。機能FileStorage.WriteToFileAsyncがどのように見える
public async Task HandleManagedException(Exception
{
await FileStorage.WriteToFileAsync("someFile.txt", exception.ToString());
}
::私はawait FileIO.WriteTextAsync(file,data)
にブレークポイントを置いたとき、デバッガモードで
public async Task WriteToFileAsync(string filename, string data)
{
var file = await this.storageFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(file, data);
}
が、それはそこに停止し、私はに機能を変更しました。 [続行]ボタンを押すと、前のコードと同じウィンドウが表示されます。 XAMLイベントから呼び出されたときに正しく実行されています。私は未処理の例外ハンドラで非同期メソッドのGoogleとStackOverflowを検索しましたが、私の問題に関連するものは何もありませんでした。
私の質問は次のとおりです。エラーの原因は何ですか? Unhandled例外ハンドラで非同期メソッドを使用することは可能ですか?
更新: これまでの回答はありがとうございます。 2番目の質問は、コードを詳細にデバッグした後に自分自身に答えました。これは可能であり、機能は意図したとおりに動作していることが判明しました。
WriteToFileAsync( "someFile。、exception.ToString());? – BugFinder
はい、私は 'FileTime.WriteTextAsync(file、data);を待つため、 –
また、引用符がありません - あなたがそこに問題があるように思えます – BugFinder