ExceptionContext.ExceptionHandled zmienia się na true. Gdzie jest obsługiwany wyjątek?

Używam globalnego filtru akcji do obsługi i rejestrowania wszystkich wyjątków.

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new ElmahHandleErrorAttribute());
        filters.Add(new HandleErrorAttribute());
    }

Oto jak działa globalny filtr akcjiElmahHandleErrorAttribute jest zdefiniowane - zastępujeOnException metoda.

public class ElmahHandleErrorAttribute : System.Web.Mvc.HandleErrorAttribute
{
    public override void OnException(ExceptionContext context)
    {
       //Is the exception handled already? context.ExceptionHandled seems to be true here
        if (!context.IsChildAction && (context.HttpContext.IsCustomErrorEnabled))
        {
            //Do other stuff stuff
            //Log to Elmah               
        }
    }
   ...
 }

Nie rozumiem, dlaczego wartośćcontext.ExceptionHandled jest prawdą, gdyOnException metoda wykonywana. W jaki sposób jest obsługiwany ten wyjątek?

-EDYTOWAĆ- mamcustomErrors sekcja wWeb.Config. mamErrorController klasa i akcje wywoływaneGeneral iHttp404.

<customErrors mode ="On" defaultRedirect="Error/General">
      <error statusCode="404" redirect="Error/Http404"/>
  </customErrors>

Nie rozumiem jednak działania kontroleraGeneral nie jest wykonywany (punkt przerwania nigdy nie jest trafiany), ale wartośćExceptionContext.ExceptionHandled jest ustawiona na true, gdyOnException metodaElmahHandleErrorAttribute rozpoczyna wykonywanie.

questionAnswers(1)

yourAnswerToTheQuestion