簡體   English   中英

Python:永不消亡的函數

[英]Python: function that never dies

我正在寫一個長期運行的函數,它永遠不會像這樣死掉:

def immortal():
    try:
        # do something
    except:
        sleep(5)
        immortal()

這樣,如果嘗試之間有什么問題...例外,它將被捕獲,在睡眠5秒鍾后,功能將再次啟動。

我擔心的是,由於它是一個運行時間很長的函數,如果有兩個很多錯誤,是否會導致try ... except堆棧太深,並導致性能問題?

我這樣做對嗎? 如果沒有,正確的方法是什么?

使用try ...時有一個else可選項。

def immortal():
    while True:
        try:
            # pass or raise
        except:
            print('error')
        else:
            print('done')
            break

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM