【发布时间】:2017-02-13 14:56:05
【问题描述】:
我有一个 winforms 应用程序,Program.cs 看起来像这样:
static void Main()
{
try
{
// Set up application
Application.Run();
}
catch (Exception ex)
{
// construct log from ex
log.Save(); // saves to db
}
}
这工作正常,并且正在根据需要将日志保存到数据库中。但是,应用程序随后会关闭。
有没有办法可以捕获异常并记录它们,然后继续运行应用程序?上面的代码只是一个示例——实际上,如果抛出异常,就会完成一些工作。
【问题讨论】:
-
如果没有具体的代码问题向我们展示您在示例中遇到的情况,这太宽泛了,无法回答。答案显然是,“当然有办法!”但这已经差不多了。
-
这不能正常工作。当您使用调试器运行时,您只会捕获任何东西。当您不应该这样做时,因为这使得调试异常变得非常困难。您需要删除此代码。当抛出异常的代码没有处理异常时,不要再假设您可以处理异常。例外是你的朋友,他们会告诉你你做错了什么。永远不要忽视好的建议。
标签: c# winforms exception-handling