いくつかの非同期コードから取得している例外で問題が発生しています。スレッドをブロックしたくありません
private async Task ThrowSomeExceptionAsync()
{
//Some long running process would go here...
throw new Exception();
}
これは、呼び出して例外をキャッチするメソッドです。Application.UnhandledExceptionイベントを使用して例外をキャッチしていますが、この場合はキャッチされていません。
返された Task オブジェクトの Exception プロパティが設定されるのを待ってみましたが、タスクの完了中にブロックされます。
ContinueWith メソッドを使用するとブロックは回避されましたが、デリゲートからスローされた例外は UndhandledException イベントによってキャッチされませんでした。
このコードを非同期で実行しながら、UnhandledException イベントをエラー処理に使用するにはどうすればよいですか? そのイベントに関する基本的な概念が欠けていますか?