このようなtry catch
ブロック:この呼び出しためエラーMessageDialog.ShowAsync()でのawaitを使用しているとき、私が持っているメソッド内
:私はライン
message.ShowAsync()
ための次のような警告を得るtry { // do something } catch (Exception ex) { MessageDialog message = new MessageDialog(ex.ToString()); message.ShowAsync(); }
呼び出しが完了する前に、現在のメソッドの実行が継続されます。呼び出しの結果に 'await'演算子を適用することを検討してください。
サイードと行わ:
try
{
// do something
}
catch (Exception ex)
{
MessageDialog message = new MessageDialog(ex.ToString());
await message.ShowAsync();
}
を今、私は例外を取得:
'待つ' 演算子は、非同期メソッド内でのみ使用することができます。このメソッドを 'async'修飾子でマークし、戻り値の型を 'Task'に変更することを検討してください。
私もcatchブロック内待っを避けるために、これを試してみました:
Exception exception;
try
{
// do something
}
catch (Exception ex)
{
exception = ex;
}
if (exception != null)
{
MessageDialog message = new MessageDialog(ex.ToString());
message.ShowAsync();
}
しかし、これは何も変わりません。
この場合、await
を使用するにはどうすればよいですか? MessageDialog.ShowAsync()
は、IntelliSenseが、Windows.Foundation.IAsyncOperation<IUICommand>
を返す待機可能なメソッドを表示する限りです。
エラーがそれを修正する方法を説明します:*「非同期」修飾子と、このメソッドをマーキング考えてみましょう戻り値の型を 'Task'に変更します。*。 –
絶対に必須の読書:[非同期プログラミングasync and await(C#)](https://msdn.microsoft.com/en-us/library/mt674882.aspx)。それと、エラーメッセージを読むことは明らかです。 – IInspectable