public void OnExceptionAsync_should_handle_error()
        {
            var context = new MethodExecutedContext(new MethodExecutingContext
            {
                InvocationContext = new Dictionary<string, object>()
            });
            var att = Substitute.ForPartsOf<ExceptionFilterAttribute>();
            att.When(x => x.OnException(Arg.Any<MethodExceptionContext>())).Do(c => { throw new Exception("Test exception"); } );
            var exceptionContext = new MethodExceptionContext(new Exception(), context);
            var t = att.OnExceptionAsync(exceptionContext);

            Assert.IsTrue(t.Status == TaskStatus.Faulted);
            Assert.AreEqual("Test exception", t.Exception.InnerExceptions[0].Message);
            Assert.IsNull(context.Result);
            Assert.IsNull(exceptionContext.Result);
        }
 public override Task OnExceptionAsync(MethodExceptionContext exceptionContext)
 {
     exceptionContext.Handled = true;
     exceptionContext.Result = "Error OnExceptionAsync";
     //Console.WriteLine($"{DateTime.Now} {nameof(MethodExceptionContext)} OnExceptionAsync");
     return TaskHelpers.DefaultCompleted;
 }
 public override Task OnExceptionAsync(MethodExceptionContext exceptionContext)
 {
     exceptionContext.Handled = true;
     return TaskHelpers.DefaultCompleted;
 }
 public override void OnException(MethodExceptionContext exceptionContext)
 {
     exceptionContext.Handled = true;
     exceptionContext.Result = "Error OnException";
     //Console.WriteLine($"{DateTime.Now} {nameof(MethodExceptionContext)} OnException");
 }
 public override void OnException(MethodExceptionContext exceptionContext)
 {
     exceptionContext.Handled = true;
     
 }