发生异常后,HandleError不会重定向到视图!

时间:2011-01-19 23:07:09

标签: asp.net-mvc

由于某种原因,即使通过类型“InvalidOperationExcepion”的异常,也不会调用视图ErrorPage。

 [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("to@someting.com", "from@someting.com", "Request", message, message);
            }
            catch (Exception ex)
            {

            }



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

            return View("Confirmation"); 
        }

任何想法!

2 个答案:

答案 0 :(得分:3)

那是因为你处理了这个例外。删除try / catch块。

答案 1 :(得分:1)

@frennky说它没有捕获它是正确的,因为你处理了异常。如果仍然需要尝试捕获,则可以始终在catch块中重新抛出异常。这样,您可以在HandleError属性处理之前执行任何日志记录或其他清理。