2 using System.Collections.Generic;
4 using System.Threading;
5 using System.Threading.Tasks;
7 public static class ExceptionHelper
9 public static async Task ConditionalCatchExceptThreadAbortAsync (Func<Task>
10 funcTask, Action<Exception> conditionalCatchAction)
19 readonly object _asyncTaskCancellationSource = new object ();
21 readonly object aname;
23 public async Task<bool> OnDoWorkAsync ()
25 await ExceptionHelper.ConditionalCatchExceptThreadAbortAsync (
27 if (_asyncTaskCancellationSource != null) {
30 await ExceptionHelper.ConditionalCatchExceptThreadAbortAsync (
32 Console.WriteLine (aname);
35 Console.WriteLine (item);
49 public static void Main ()
52 var res = a.OnDoWorkAsync ().Result;