在Python中使用timeout時常見的錯誤可能是超時異常引起的,可以通過捕獲異常并處理來解決。以下是一個示例代碼:
import time
import signal
class TimeoutError(Exception):
pass
def timeout_handler(signum, frame):
raise TimeoutError("Timeout")
def do_something():
time.sleep(10) # 模擬一個耗時操作
# 設置超時時間為5秒
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(5)
try:
do_something()
except TimeoutError as e:
print("操作超時:", e)
finally:
signal.alarm(0) # 取消超時設置
在上面的示例中,我們通過signal模塊來設置超時時間,并定義了一個TimeoutError異常來標識超時情況。在try塊中進行操作,如果超時則會捕獲TimeoutError異常并輸出提示信息,最后取消超時設置。這樣就可以在Python中使用timeout時避免報錯。