我們在我們的ASP.NET網絡應用程序中使用ELMAH,並且對於我們獲得的一些例外情況,我感到難以置信。其中一些是:.NET異常:每種異常類型是否都有自己的消息文本?
- System.FormatException:Base-64字符數組的無效長度。
- System.Web.HttpException:無法驗證數據。
- System.Security.Cryptography.CryptographicException:填充無效,無法刪除。
我根本不知道它們爲什麼會出現,但最終用戶顯然沒有看到它們,所以我想忽略它們並禁止發送電子郵件。如果我這樣做,我想確保System.FormatException僅將Invalid length for a Base-64 char array.
用於其消息文本,而不是其他消息。如果確實如此並且我忽略了它,我可能會錯過System.FormatException引發的其他異常。如果是這樣的話,我必須檢查消息文本。這不是問題,但我真的不喜歡在我的應用程序中使用硬編碼字符串。
更新:
我試過這段代碼:
try
{
throw new System.FormatException();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.Read();
而且其消息文本:
One of the identified items was in an invalid format.
這告訴回答者是正確的,在某些例外情況應被忽略基於例外和消息文本。
爲什麼在地球上有人投票結束對此保持匿名? – oscilatingcretin 2012-04-05 14:43:28