2017-10-09 6 views
-3

Je devais commencer à coder sur python sans aucune formation en codage. Donc, ma compétence est la honte. J'ai un telegram bot. Parfois, il se bloque, je ne sais pas pourquoi et en fait ce n'est pas grave, mais je dois faire redémarrer le bot lui-même quand il se bloque à cause d'une perte de données étrange. Alors s'il vous plaît expliquez-moi comment ajouter while True ou try-except. S'il te plaît, apprends-moi où devrais-je mettre ces constructions dans mon code. Tout le code doit être à l'intérieur try statement, ai-je raison? Je suis vraiment désolé pour les questions stupides, mais j'ai besoin de votre aide. Je vous remercie!Redémarrer le code en lui-même

+1

Vous seriez mieux loti lire un tutoriel ou deux. Et vous devez corriger le problème sous-jacent plutôt que de redémarrer en cas d'échec. – mhawke

+1

Ce tutoriel n'est pas un site personnalisé. Il suffit d'aller lire les tutoriels existants en premier et revenir si vous avez une question spécifique qui n'est pas déjà abordée ailleurs. – Julien

Répondre

-1

Going off Python: about catching ANY exception

Vous pouvez faire quelque chose comme ce qui suit:

while (true): 
    try: 
     #your code here 
    except: 
     print "Caught an exception, discarding it." 

Notez que cette exception attire, ce qui est une bonne idée.

+0

VOUS ÊTES MON HERO! JE VOUS REMERCIE! –

0

Si vous utilisez Linux, vous pouvez écrire un script bash indépendant qui redémarrez votre script python en cas d'accidents et de le garder en cours d'exécution:

until foo.py; do 
    echo "'foo.py' crashed with exit code $?. Respawning.." >&2 
    sleep 1 
done 

Vous voulez exécuter ce script bash l'arrière-plan:

nohup ./bar.sh & 

(Source)