C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■93848 / )  非同期処理の考え方
□投稿者/ ダージリン (1回)-(2020/02/12(Wed) 09:25:40)

分類:[.NET 全般] 

非同期処理の考え方についてです。

async/awaitができたおかげで、
GUIを含む処理であっても、同期処理風に簡単に処理の非同期処理化が
できるようになりました。
(例)
  private async void Func()
  {
      await Task.Run(() =>
      {
          非同期処理();
      });
      非同期処理の結果をGUI表示();
  }
でも、この場合のawaitって、あくまで正常系処理の終了待機に思えます。

たとえば、
非同期処理();の中で例外が起きる可能性があって、
例外処理の中で警告画面を表示するなど、GUIがらみの作業が必要になると、
昔通り、
  App.Current.Dispatcher.Invoke(() =>
  {
      GUI表示();
  });
としてます。

例外処理なだけに、awaitで待つわけにもいかず、
こういう場合は、昔通りの書き方しかないんでしょうか?

返信 編集キー/


管理者用

- Child Tree -