2010-08-25 40 views
0

我想檢查是否異常已經與下面的filterContext.Exception行動提出:ASP.NET MVC OnActionExecuted ActionFilter

public class Test : ActionFilterAttribute 
    [...] 
    public override void OnActionExecuted(ActionExecutedContext filterContext) 
      { 
       if (filterContext.Exception != null) 
       { 
        continue; 
       } 
      } 

在控制器:

 [Test] 
     [AcceptVerbs(HttpVerbs.Post)] 
     public ActionResult Login(Usuarios usuario) 
     { 
      try 
      { 
      throw new Exception(); 
      } 
      catch 
      { 

      } 

     } 

filterContext.Exception始終爲空。我無法在此處捕獲此信息。

任何意識?

回答

3

這是因爲異常不會逃脫操作方法,因爲一旦拋出它就會被捕獲。我很驚訝你的代碼編譯,因爲你沒有return語句。不管怎樣,試試這個動作方法:

[Test] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Login(Usuarios usuario) 
{ 
    throw new Exception(); 
} 
+0

冷靜,這works.thk – ozsenegal 2010-08-25 22:15:27

+0

這並不@marcind工作 – Kalanamith 2014-11-12 06:04:13

+0

@Kirov是它作爲參考MVC2要求由OP。除非你提到一個完全不同的場景,在這種情況下,我不知道你在說什麼。 – marcind 2014-11-26 00:35:22

相關問題