2011-01-19 16 views
1

何らかの理由でErrorPageビューが "InvalidOperationExcepion"型の例外がスローされても呼び出されていないことがあります。例外が発生した後、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は、あなたが例外を処理したため、それを捕まえていないと言って正しいです。あなたがまだキャッチしようとする必要がある場合は、キャッチブロック内で例外をいつでも取り除くことができます。そうすれば、ログやその他のクリーンアップをHandleError属性で処理する前に実行できます。

関連する問題