Проблема с HandleError - PullRequest
       22

Проблема с HandleError

0 голосов
/ 24 сентября 2010

У меня есть следующий метод действия:

    [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);
    }
}

Я думал, что атрибут метода действия был бы выполнен с исключением DivideByZero, но он не работает. Все, что я вижу, это разрывы кода на линии, где я делаю разделение. Я что-то не так делаю?

1 Ответ

0 голосов
/ 24 сентября 2010

Когда вы говорите «код ломается», вы имеете в виду, что он ломается в отладчик?Вероятно, это просто стандартное поведение отладчика, которое вы можете изменить с помощью пункта «Исключения ...» в меню отладки.Если вы нажмете F5 снова - или запустите без отладки - вы можете увидеть ожидаемое поведение.

MVC не предотвращает выдачу исключения (что ищет отладчик) - оно просто обрабатывает исключениезаметив атрибут на контроллере и передав информацию соответствующим образом.В момент взлома отладчика у него еще не было возможности сделать это.

...