0
我有VB.NET应用程序,有一个BackgroundWorker,使MySQL数据库的操作;如果BGW崩溃,我想保存日志并重新启动应用程序;所以可以做这样的事情吗?可以从BackgroundWorker重新启动应用程序吗?
Catch ex As Exception
WriteRTBLog(ex.Message, Color.Red)
WriteRTBLog(ex.StackTrace, Color.DarkRed)
Application.Restart()
End Try
另外,如果我重新启动应用程序FormClosing事件将会引发? 因为我在使用该事件关闭之前保存日志。
如果我用数据搞砸了,sql server炸了我,一味地试图继续似乎是我能做的最糟糕的事情。如果你不知道异常是什么意思,并且你不知道如何恢复,那么就会死亡。如果你能恢复,那就这样做。重新启动整个应用程序似乎是一种奇怪的恢复方式。 – Will
是的,FormClosing事件将被提出。如果此代码位于DoWork事件处理程序中,则线程错误,这并不好。对于一个无意中看到应用程序不断重启并立即崩溃的应用程序,用户无能为力,只能重启机器。或者对于那个重新开始的应用程序,并没有说明为什么,如果有RTB,那么它不再存在。很多理由不这样做。 –
该应用程序独立工作,没人看;我需要应用程序自行恢复。该应用程序单独运行一年没有任何问题,但是当崩溃进入循环并且一直运行错误大约3天,直到有人注意到它;然后我手动关闭它,并再次工作好像什么都没有发生过。 –