例外:最大邮件大小

时间:2013-09-20 13:39:57

标签: .net c#-4.0 exception-handling

我有一个难以重现的错误。另外,我被告知写日志文件是一种安全责任。所以我希望尽可能多地捕获异常。

我找不到任何说明C#例外的最大长度的地方。

我想粘贴一条XML消息(1或2K),也许是我的本地数据模型(2k左右)。

有什么限制?任何最佳实践建议?

1 个答案:

答案 0 :(得分:3)

最好使用Trace.Information,Trace.Error,因为它在生产中可用。

我想如果你不在生产Debug.Write或Console.Write是你最好的选择。

对于最大异常消息长度,它是最大字符串长度(Int32.MaxValue或2,147,483,647)。

这是我的测试工具:

StringBuilder sb = new StringBuilder();
string _loremIpsum = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

long _counter = 5000;
while (_counter > 0)
{
    sb.Append(_loremIpsum);
    if (_counter % 100 == 0)
    {
        Console.Write(".");
    }
    _counter--;
}
Console.WriteLine("Length: " + sb.Length);

throw new Exception(sb.ToString());

我应该注意将looong字符串放入异常会使事情变慢,但这并不算太糟糕。

参考字符串的长度here