代码之家  ›  专栏  ›  技术社区  ›  DaveDev

手柄故障错误

  •  0
  • DaveDev  · 技术社区  · 14 年前

        [HandleFtmsError]
        public ActionResult PerformanceChart(ChartViewModel chart)
        {
            var x = 1;
            var y = 0;
            var z = x/y;
            return Json("");
        }
    

    哪里 HaneleFtmsError 定义为:

    public class HandleFtmsErrorAttribute : System.Web.Mvc.HandleErrorAttribute
    {
        public override void OnException(ExceptionContext context)
        {
            base.OnException(context);
            if (context.ExceptionHandled)
                RaiseErrorSignal(context.Exception);
        }
    
        private static void RaiseErrorSignal(Exception e)
        {
            var context = HttpContext.Current;
            ErrorSignal.FromContext(context).Raise(e, context);
        }
    }
    

    我以为action方法上的属性会被执行一个DivideByZero异常,但它不起作用。我所看到的只是在我做除法的那条线上的代码中断。我做错什么了吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Jon Skeet    14 年前

    当你说“代码中断”时,你的意思是它正在中断调试器吗?这可能只是标准的调试器行为,您可以通过“调试”菜单的“异常…”项进行更改。如果您再次按F5键,或者在没有调试的情况下运行,您可能会看到预期的行为。