.net C# 未分類

C#のタスク注意事項

投稿日:2018年2月3日 更新日:

 

バックグラウンドタスクで発生した例外

  • タスクの例外処理に関しては、.NET 4.5で大きな仕様変更が発生している。
  • バックグラウンドタスクの完了を待機する(awaitキーワードやWaitメソッドを使う)場合には、バックグラウンドタスクで発生した例外が呼び出し元のスレッドに送られる。これには変更がない。
  • バックグラウンドタスクの完了を待機しない場合には、次のように仕様が変わっている。
    1. .NET 4.0: トラップされなかった場合は、プログラムが終了する
    2. .NET 4.5: トラップされなかった場合は、その例外は失われる(既定値)
  • この.NET 4.5の動作は、.NET 4.0と同じ動作をするように変更できる。App.configファイルでThrowUnobservedTaskExceptionsをtrueに設定する。

  <!--バックグラウンドタスクで発生した例外を必ず受け取れるようにする設定 -->
  <runtime>
    <ThrowUnobservedTaskExceptions enabled="true"/>
  </runtime>

 

 

 

参考にさせて頂いたページ

WPF:例外をまとめてトラップするには?[C#/VB]

 

 

 

スポンサーリンク

スポンサーリンク

-.net, C#, 未分類

執筆者:

関連記事

サロゲート(ペア)について

サロゲート(ペア)について ・文字コードに関する覚え書きと実験 サロゲートペアは補助文字を UTF-16 で表現したものであって,UTF-8 では使いません(禁止されています)。UTF-8 で扱うのは ...

C++のクラス

メンバ変数   メンバ変数がクラスの場合の初期化 クラスのメンバ変数が引数付きのコンストラクタの場合、メンバイニシャライザを使ってコンストラクタを呼び出す。 クラスのメンバ変数の引数付きのコ ...

C++のTIPS

・それ、ポインタ使わなくてもできるよ:C言語のポインタとC++の流儀 ・【C言語/C++】 配列は戻り値にできない【配列を適切に返す方法】    

C#のタスクとasync/awaitについて

  非同期メソッドとasync/awaitキーワード 非同期処理でありながら、コールバック記述をする事なく、awaitキーワードを使って完了待機を記述できる(同期的に記述できる)。 「非同期 ...

Red Hat Linux コマンド集

コマンド一覧と説明 コマンド 説明 ls -al ファイルやディレクトリの情報を表示する。 ps -al 端末操作のプロセスを表示する ps -xl 実行しているプロセスを表示する grep -i 文 ...


プロフィール
管理人です。 業務プログラムに勤しむ人です プロフィール詳細


検索

カテゴリ

アーカイブ