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で待つわけにもいかず、
こういう場合は、昔通りの書き方しかないんでしょうか?

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: 非同期処理の考え方 /Hongliang
→Re[1]: 非同期処理の考え方 /WebSurfer
→Re[1]: 非同期処理の考え方 /WebSurfer
 
上記関連ツリー

非同期処理の考え方 / ダージリン (20/02/12(Wed) 09:25) #93848 ←Now
Re[1]: 非同期処理の考え方 / Hongliang (20/02/12(Wed) 09:41) #93850
Re[1]: 非同期処理の考え方 / WebSurfer (20/02/12(Wed) 09:38) #93849
Re[1]: 非同期処理の考え方 / WebSurfer (20/02/12(Wed) 10:08) #93853
  └ Re[2]: 非同期処理の考え方 / ダージリン (20/02/12(Wed) 10:23) #93854
    └ Re[3]: 非同期処理の考え方 / ダージリン (20/02/12(Wed) 10:24) #93855
      └ Re[4]: 非同期処理の考え方 / ダージリン (20/02/12(Wed) 10:28) #93856
        ├ Re[5]: 非同期処理の考え方 / Hongliang (20/02/12(Wed) 10:45) #93858
        └ Re[5]: 非同期処理の考え方 / WebSurfer (20/02/12(Wed) 10:44) #93857
          └ Re[6]: 非同期処理の考え方 / ダージリン (20/02/12(Wed) 10:53) #93859 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信