簡體   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