It was probably recorded somewhere, at least in the source, but I just did this little experiment:
public override void OnException(ExceptionContext filterContext)
{
Debug.Print("HandleErrorAttribute.OnException 1");
base.OnException(filterContext);
Debug.Print("HandleErrorAttribute.OnException 2");
}
...
protected override void OnException(ExceptionContext filterContext)
{
Debug.Print("Controller OnException 1");
base.OnException(filterContext);
Debug.Print("Controller OnException 2");
}
and in the output window:
HandleErrorAttribute.OnException 1
HandleErrorAttribute.OnException 2
OnException 1
OnException 2