gpt4 book ai didi

c# - 在 .NET 窗口应用程序中收集/报告意外错误的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 21:31:51 25 4
gpt4 key购买 nike

我正在寻找一种比我们目前处理意外生产错误更好的解决方案,而无需重新发明轮子。

我们的大量产品是安装在远程站点的 WinForm 和 WPF 应用程序。不可避免地会发生意外错误,从 NullReferenceExceptions 到“一般网络错误”。因此,从程序员错误到环境问题。

目前,所有这些未处理的异常都是使用 log4net 记录的,然后通过电子邮件发回给我们进行分析。然而,我们发现有时这些错误“报告”包含的信息太少而无法识别问题。

在这些报告中,我们需要以下信息:

  1. 应用名称
  2. 应用版本
  3. 工作站
  4. 也许是屏幕截图
  5. 异常详情
  6. 操作系统
  7. 可用内存
  8. 运行进程
  9. 等等...

我真的不想通过从头开始开发来重新发明轮子。需要的组件:

  1. 错误收集(详情如上所述)
  2. 错误“发件人”(如果数据库或互联网不可用,则需要排队)
  3. 错误数据库
  4. 分析和报告这些错误。例如。 10 个最常见的错误或超时发生在下午 4:00 到 5:00 之间。版本 x 和 y 之间的错误比较如何?

注意:我们看了SmartAssembly作为一个可能的解决方案,但虽然很接近,但它并不能完全满足我们的需求,我希望听到其他开发人员在做什么以及是否存在一些替代方案。

编辑:感谢您到目前为止的回答。也许我在最初的问题中并不清楚,问题不在于如何捕获所有未处理的异常,而是如何处理它们并围绕它们创建报告引擎(分析)。

最佳答案

我建议 Jeff Atwood 关于 User Friendly Exception Handling 的文章,它完成了您已经问过的大部分内容(应用程序信息、屏幕截图、异常详细信息、操作系统、记录到文本文件和电子邮件),并包含源代码,因此您可以添加所需的额外内容。

关于c# - 在 .NET 窗口应用程序中收集/报告意外错误的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/110488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com