Asp.net mvc 4 HandleError操作筛选器的OnError hanler是否处理已经由try/catch块处理的异常?

Asp.net mvc 4 HandleError操作筛选器的OnError hanler是否处理已经由try/catch块处理的异常?,asp.net-mvc-4,Asp.net Mvc 4,对于HandleErrorattribute/action过滤器处理的错误类型,我仍然感到困惑 例如,在下面的代码中,假设我将HandleError过滤器定义为MVC 4应用程序的全局操作过滤器 我在下面的try-catch块中捕获的异常是否会到达HandleError操作过滤器的OnError处理程序 public class SomeController : Controller { public ActionResult SomeAction() { new

对于
HandleError
attribute/action过滤器处理的错误类型,我仍然感到困惑

例如,在下面的代码中,假设我将
HandleError
过滤器定义为MVC 4应用程序的全局操作过滤器

我在下面的try-catch块中捕获的异常是否会到达
HandleError
操作过滤器的
OnError
处理程序

public class SomeController : Controller
{
    public ActionResult SomeAction()
    {
        new SomeBusinessLogicComponentInTheMVCProject().DoSomething();
        return View();
    }
}

public class SomeBusinessLogicComponentInTheMVCProject
{
    public void DoSomething()
    {
        try
        {
        }
        catch (Exception ex)
        {
            // Will the HandleError filter's OnError 
            // handler catch this exception?
        }
        finally
        {
        }
    }
}
我想过滤器中的OnError()方法不会得到异常,因为catch块已经处理了它,除非在catch中再次抛出异常(或新异常)

ErrorHandlingFilter中的OnError或控制器(SomeController继承者所属的类)上的OnException方法都将仅处理控制器中操作的未处理异常