我们将 ELMAH 用于我们的 ASP.NET Web 应用程序,我对我们遇到的一些异常感到困惑。其中一些是:
- 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.
这表明回答者是正确的,并且应该根据异常和消息文本忽略异常。