2014-02-24 74 views
1

我正在使用ELMAH登錄ASP.Net應用程序。使用ELMAH時不會拋出異常記錄異常

我的問題是將下面的行:Elmah.ErrorSignal.FromContext(System.Web.HttpContext.Current).Raise(ex),當在一個catch塊中使用拋出異常的調用方或簡單地登錄併發送出錯電子郵件?

try 
{ 
... 
} 
catch (Exception ex) 
{ 
    Elmah.ErrorSignal.FromContext(System.Web.HttpContext.Current).Raise(ex); 

    //do some special processing 

} 
+0

你試過了嗎?它做了什麼?另請參閱[如何使用ELMAH手動記錄錯誤](http://stackoverflow.com/questions/7441062/how-to-use-elmah-to-manually-log-errors) – mason

回答

2

您的代碼將引發的異常(ex)記錄在ELMAH中,並返回成功給調用者。換句話說,Raise不會拋出異常。

如果你的catch塊重新拋出ex或拋出一個新的異常,ex和新的異常都記錄到ELMAH中,並且狀態碼500返回給調用者。