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方法都将仅处理控制器中操作的未处理异常