2009-02-02 53 views
0

我正在研究一個ASP.NET MVC應用程序,只是進行錯誤處理。幫助我解決將錯誤消息返回給用戶的問題。如何處理asp.net中的異常?

我有一個控制器:

[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()方法的問題。我正在記錄錯誤,但是如何將錯誤消息返回給控制器,然後返回到視圖。

謝謝。

回答

3

最簡單的方法是: -

1)在ASP.NET MVC版本Canditate 1(從asp.net/mvc下載)使用在模型驗證的構建。

2)重新拋出異常並將其捕獲到控制器動作中,然後將不錯的自定義錯誤消息傳遞給視圖以呈現給用戶 - 使用ViewData [「error」]或類似方法傳遞它。