2011-01-19 69 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属性处理之前执行任何日志记录或其他清理。