可能是一个很简单的问题,因为我对python和编程还不太熟悉,但我目前正在改进我的一个程序,如果发现异常,我不知道如何让程序继续运行。也许我看错了,但举个例子,我有这样的想法:
self.thread = threading.Thread(target=self.run)
self.thread.setDaemon(True)
self.thread.start()
def run(self):
logging.info("Starting Awesome Program")
try:
while 1:
awesome_program(self)
except:
logging.exception('Got exception on main handler')
OnError(self)
def OnError(self):
self.Destroy()
显然,我现在只是杀死程序时,一个错误达到。awesome_程序基本上是使用pyodbc来连接和运行远程数据库上的查询。当连接断开时会出现问题。如果我没有捕捉到异常,程序将冻结,因此我将其设置为高于此值,这将杀死程序,但如果没有人手动重新启动它,则这并不总是理想的。有没有一种简单的方法可以保持程序运行或重新插入它。请随意斥责我不正确的语法或糟糕的编程技巧。我一直在努力自学,而且还是一个新手,有很多我不明白或者可能做得不对。如果需要的话,我可以发布更多的代码。我不知道有多少可以张贴而不被压倒。