我正在尝试为企业级类库制定错误记录解决方案。一些要求:
- 它将被多个端点应用程序使用(因此它应该在类库中处理)
- 它应该将其数据放入 SQL Server 数据库以便于存储。这也进入第三个:
- 它应该能够支持自定义网络应用程序读取其数据。
还有一个要求,那就是“非常好”。也就是说,它并不重要,但如果它不可行,我最好有一个很好的理由。
- 在其端点应用程序中不应要求专门的 Logger 对象。他们应该能够简单地抛出异常,日志软件应该从那里处理事情。不过,拥有特定的 USING 命令是符合犹太洁食标准的。
综合考虑,前三点并不难。一个快速的日志记录类和一些存储过程,中午就结束了,对吧?不过,最后一点是我不知道如何处理的。我以前在一个 friend 的代码中看到过它,所以我知道这是可能的,但不幸的是,那个 friend 已经去世了,他的代码丢失了。有没有人可以指出让类库对象以某种方式捕获端点应用程序出现的所有错误来处理它们的正确方向?
最佳答案
如果您想要捕获所有不是源自您自己的调用堆栈的未处理异常,您可以考虑使用 AppDomain对象:
AppDomain.CurrentDomain.UnhandledException += (s, e) => {
// Your logging logic
};
AppDomain.CurrentDomain.FirstChanceException += (s, e) => {
// Your logging logic
};
关于c# - 在类库级别捕获 C# 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903708/