捕获所有内部异常详细信息的最佳实践是什么? [复制]

2024-05-08

记录完整异常详细信息(包括所有可能的内部异常)的最佳实践是什么?

目前,我使用以下代码:

try
{
    //some code that throws an exception
}
catch(Exception ex)
{
    do
    {
        Console.WriteLine(ex.Message+ex.StackTrace);
        ex=ex.InnerException;
    }while(ex!=null)
}

是否有任何情况下此代码可能会失败?


你有没有尝试过只使用ex.ToString()?它提供了诊断所需的大部分(如果不是全部)数据 - 包括消息详细信息、堆栈跟踪和内部异常:

From MSDN http://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx:

ToString 返回当前异常的表示形式 旨在被人类理解。异常包含的地方 文化敏感数据,ToString 返回的字符串表示形式 需要考虑当前的系统文化。虽然 对返回字符串的格式没有确切的要求, 它应该试图反映对象所感知的价值 用户。 ToString 的默认实现获取名称 抛出当前异常的类、消息、结果 对内部异常调用 ToString,以及调用的结果 环境.StackTrace。如果这些成员中的任何一个为 null,则其值为 不包含在返回的字符串中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获所有内部异常详细信息的最佳实践是什么? [复制] 的相关文章

随机推荐