.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#, 未分類

執筆者:

関連記事

Objective-Cについて(続)

  セレクタ Objective-C コンパイラは、メソッドを特定する名前をコンパイル時に内部表現に変換します。 この、メソッドの内部表現をセレクタと呼び、メッセージの送受信の裏側では、このセレクタが ...

no image

Linuxの起動時のエラー対応

エラー確認 コマンド 説明  dmesg  システム起動時のメッセージ確認  cat /var/log/messages   ログファイルの確認  cat /var/log/boot.log  ログフ ...

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

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

文字コード

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

Xamarin.Formsについて

レイアウトの設定について VerticalOptions / HorizontalOptions プロパティ Xamarin.Forms.Viewクラスの LayoutOptions構造体型 プロパテ ...