2011-01-19 64 views
1

由於某種原因,即使通過類型爲「InvalidOperationExcepion」的異常被拋出,視圖ErrorPage仍未被調用。在異常發生後,HandleError不會重定向到視圖!

[HandleError(View = "ErrorPage", ExceptionType = typeof(InvalidOperationException))] 
     public ActionResult Request(RequestIn requestin) 
     {   


      try 
      { 
       var emailService = new EmailServices(); 


       // exception is thrown from some WCF service!  
       var error = emailService.SendMail("[email protected]", "[email protected]", "Request", message, message); 
      } 
      catch (Exception ex) 
      { 

      } 



      ViewData["Message"] = "Email has been sent!";  

      return View("Confirmation"); 
     } 

任何想法!

回答

3

那是因爲你處理了異常。刪除try/catch塊。

1

@frennky是正確的,說它沒有抓住它,因爲你處理了這個異常。如果你仍然需要這個try catch,你總是可以在catch塊中重新拋出異常。這樣,您可以在HandleError屬性處理之前執行任何日誌記錄或其他清理。