2014-09-12 135 views
0

我有一个程序,用户在其中输入数据,但不时出现意外原因程序崩溃。我正在重新编写代码以解决这些错误,但我希望在崩溃发生时防止用户丢失任何未保存的工作。 我设计了一个解决方案,每小时自动保存一个文件,但是...如何在程序崩溃时将应用程序数据保存到文件

有没有一种方法可以在应用程序数据保存到文件之前,在强制关闭错误窗口后关闭?

处理这些情况的标准方法是什么? 谢谢你的阅读我的问题=]

回答

0

根据崩溃的类型,你可能没有任何控制它,所以你的程序可能没有机会正常失败。在这种情况下,您需要记录所有“重要”用户活动,因为他们正在处理。

如果您注意到所有用户突然在操作A上或附近发生故障,则操作A很可能是导致错误的原因。例如,它可能是一天中的特定时间,其中备份运行。

通过分析平均操作持续时间,您可能会发现在应用程序失败之前,持续时间会增加。这可能会导致内存泄漏或CPU瓶颈。

根据您的发现,您可以为Action A添加更详细的日志记录,或尝试其他方法。如果不知道应用程序的性质,很难说。

+0

它基本上是一个带有文本字段的地址簿,组合框数据存储在一个结构数组中。大多数崩溃来自索引问题,并且多个编辑窗口打开冲突。 – 2014-09-12 20:32:40

+0

@WilliamMorschauser:如果他们不是外部的,你应该在所有你期望出现错误的地方放一个Try ... Catch。对于那些意外的情况,还需要[全局处理程序](http://jonathonreinhart.blogspot.ca/2013/03/gotta-catch-em-all-last-chance.html)。在这种情况下关闭应用程序之前,您可以记录任何有用的信息。理想的情况下,在审查日志或通过代码进行多次修改之后修复错误,以确保它能够完成应有的功能。 – Neolisk 2014-09-12 23:16:59

相关问题