我如何处理asp.net中的异常?

时间:2009-02-02 03:07:19

标签: c# asp.net asp.net-mvc logging error-handling

我正在研究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 个答案:

答案 0 :(得分:3)

最简单的方法是: -

1)在ASP.NET MVC Release Canditate 1中使用构建模型验证(从asp.net/mvc下载)。

2)重新抛出异常并在控制器操作中捕获它,然后将一个很好的自定义错误消息传递给View以呈现给用户 - 使用ViewData [“error”]或类似的东西传递它。