繁体   English   中英

Python-无论发生什么异常,如何使程序永久运行?

[英]Python - how do I make a program run forever, no matter what exceptions occur?

所以我有一些形式:

def func():
  while True:
    do_stuff()

try:
  func()
except:
  func()

我曾预计,如果func循环发生任何事情,它将再次开始,但是实际上错误导致它崩溃。 如果出现任何问题,如何使它重新启动?

您可以尝试将try-except放置在while循环内while并在except块中使用pass

例如:

def func():
  while True:
    do_stuff()

while True:
    try:
        func()
    except:
        pass

您想达到什么目的? 保持程序运行通常不是程序本身的责任。 如果您使用的是类似UNIX的操作系统,则可以使用Supervisord自动运行进程,并让它们在失败时重新启动。 如果您使用的是Windows, 此答案可能会帮助您!

尝试将循环内容放入try除外语句中

def func():
    while True:
        try:
            do_stuff()
        except:
            continue
func()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM