有人能指出一个专门用于异常处理的开源项目列表吗? 或者是其中最好的工具?
更新:我想在n层winform应用程序中使用它。我想一劳永逸地捕获我的数据访问堆栈中发生的3或4种异常。然后将它们传递给gui堆栈,并在消息框或其他内容中将它们显示给用户。
答案 0 :(得分:4)
有ELMAH用于在网络应用中记录错误。它可能对你有用,也可能没用 - 你没有指明你想要它做什么,或者你是否需要它用于Web应用程序,WinForms,WPF等。
答案 1 :(得分:4)
您可以使用Application_ThreadException事件来全局处理所有异常。您可以找到有关它的更多信息here
[STAThread] static void Main() {
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e) {
throw new Exception("Whoops");
}
private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.Message);
}
要在异常时显示用户友好的消息,您可以查看此codeproject article.
您也可以使用Microsoft的Exception Handling Application Block。MSDN简介如下:
企业库异常处理应用程序块允许开发人员和策略制定者创建一致的策略来处理企业应用程序的所有体系结构层中发生的异常。它通过以下方式实现:
答案 2 :(得分:3)
您可以查看Exceptioneer - 虽然它不是开源的,但它是免费的。
答案 3 :(得分:1)
答案 4 :(得分:0)
我想在n层winform应用程序中使用它。我想一劳永逸地捕获我的数据访问堆栈中发生的3或4种异常。 然后将它们传递给gui堆栈,并在消息框或其他内容中将它们显示给用户。
答案 5 :(得分:0)
我最近开始使用NLog,这是记录异常和应用程序一般运行的绝佳方法。您可以生成一些真正可读的日志文件/电子邮件/等。那样。