【发布时间】:2013-02-07 23:31:14
【问题描述】:
我正在为一家公司开发一套 Excel 插件。我以前没有做过加载项,所以我对一些错综复杂的东西不是很熟悉。在交付我的第一个产品后,用户遇到了我在测试期间没有遇到/遇到/注意到的错误。此外,我很难从 Visual Studios 调试环境中复制它们。
我最终编写了一个轻量级的日志记录类,它接收来自程序各个部分的消息。该程序并不庞大,因此并不是很多工作。但我最终得到的是几乎每一行代码都包含在 Try...Catch 块中,这样我就可以记录用户环境中发生的事情。
我认为我实现得足够体面,我试图避免包装对其他类或模块的调用,而是将块放在调用中,这样我就可以更准确地识别出谁在抛出,而且我没有吞下任何东西,我在我记录了我感兴趣的信息后总是抛出异常。
我的问题是,基本上,这样可以吗?有没有更好的方法来解决这个问题?我离开基地了吗?
快速编辑:重要的是,它确实有效。我能够确定错误并解决它。
【问题讨论】:
-
您可以选择只记录异常 - 堆栈跟踪应该为您提供与您现在获得的所有相同的信息,而且输入、维护和可读性的成本要低得多。
-
您可能想使用
Trace Listeners。将整个项目包含在Try和Catch中可能相当危险。另外,Try和Catch通常有更大的开销。 -
IntelliTrace 是否可以与 Excel 加载项一起使用?
-
谢谢大家的建议。我将研究一下优化,并研究一些替代的生产调试方法。
标签: c# excel debugging testing try-catch