Ejemplo n.º 1
0
        public static void TryFinallyWithException()
        {
            var lambda = AsyncLambda <Func <Task, Action, Task> >(fun =>
            {
                Try(() => Await(fun[0])).Finally(fun[1].Invoke()).End();
            });

            var fn       = lambda.Compile();
            var source   = new TaskCompletionSource <int>();
            var callback = new FinallyCallback();
            var result   = fn(source.Task, callback.OnFinally);

            source.SetException(new ApplicationException());
            Throws <ApplicationException>(result.GetAwaiter().GetResult);
            True(callback.Value);
        }
Ejemplo n.º 2
0
 protected abstract Promise FinallyT(FinallyCallback final);
Ejemplo n.º 3
0
 public Promise Finally(FinallyCallback final)
 {
     return(FinallyT(final));
 }