Что мне делать с моими исключениями в asp.net? - PullRequest
0 голосов
/ 02 февраля 2009

Я работаю над приложением ASP.NET MVC и только приступаю к обработке ошибок. Помогите мне решить проблему с возвращением пользователю сообщения об ошибке.

У меня есть контроллер:

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Show(string callNumber)
    {
        ServiceCallService sc = new ServiceCallService();
        return View(sc.GetServiceCallByCallNumber("", callNumber));
    }

Сервис:

    public ServiceCall GetServiceCallByCallNumber(string custID, string callNumber)
    {
        ServiceCall sc = new ServiceCall();
        sc = _serviceCallRepository.GetServiceCallByCallNumber(custID, callNumber);
        return sc;
    }

Репозиторий:

    public ServiceCall GetServiceCallByCallNumber(string custID, string callNumber)
    {
        ServiceCall sc = new ServiceCall();

        try
        {
            LoginToDB();
            sc.CallNumber = "123";
        }
        catch (Exception e)
        {
            logger.error(Server.GetLastError());
        }
        finally
        {
            LogoutFromDB();
        }
        return sc;
    }

Скажем, есть проблема в методе LoginToDB (). Я регистрирую ошибку, но как получить сообщение об ошибке обратно в контроллер, а затем в представление.

Спасибо.

1 Ответ

3 голосов
/ 02 февраля 2009

Самый простой способ: -

1) Чтобы использовать проверку встроенной модели в ASP.NET MVC Release Canditate 1 (загрузить с asp.net/mvc).

2) Повторно сгенерируйте исключение и перехватите его в действии вашего контроллера, затем передайте красивое настроенное сообщение об ошибке в представление для визуализации пользователю - передайте его с помощью ViewData ["error"] или чего-то подобного.

...