Ich bin auf der Suche nach einer Möglichkeit, Timeout-Ausnahmen für meinen Reddit-Bot, der PRAW (Python) verwendet, zu behandeln. Es läuft mindestens einmal täglich ab, und es hat eine Variable, die codiert ist, also muss ich die Variable aktualisieren und dann den Bot erneut manuell ausführen. Ich suche nach einer Möglichkeit, diese Ausnahmen automatisch zu behandeln. Ich habe versucht, es zu versuchen: und außer :, aber ich fürchte, dass das Hinzufügen eines Breakpoints nach time.sleep (10) die Schleife vollständig stoppen würde. Ich möchte, dass die Schleife weiterhin ausgeführt wird, unabhängig davon, ob die Zeit abgelaufen ist oder nicht. Es gibt ein Beispiel für den folgenden Code.Behandlung einer Timeout-Ausnahme in Python
def run_bot():
# Arbitrary Bot Code Here
# This is at the bottom of the code, and it runs the above arbitrary code every 10 seconds
while True:
try:
run_bot()
time.sleep(10)
except:
# Don't know what goes here
Ich habe Hinzuzufügen ist, dass eine der Funktionen des Bot das ist, wenn es sich um ein Kommentar für eine Weile nicht erkannt hat, ist 10 Sekunden lang schläft und dann wieder überprüft, so dass es nicht Spamming Reddit nicht halten . Wenn ich das tun würde außer: continue, würde die Schleife immer noch so laufen, als ob sie es versuchen würde: run_bot()? Gibt es irgendeinen Weg, diesen Schlaf dort zu behalten? –
Ich versuche zu verstehen: Der 'run_bot' selbst schläft für 10 Sekunden, wenn nichts neues gefunden wird. Und du schläfst wieder, nachdem 'run_bot' beendet wurde? Also wann genau wird die Ausnahme geworfen? – Alu
Ich glaube, die Ausnahme wird ausgelöst, wenn es versucht, eine Verbindung zu Reddit herzustellen, aber es schlägt fehl. Der Schlaf nach dem run_bot (10) ist der einzige Schlaf –