2017-10-09 107 views
-3

我不得不在python编码没有任何教育编码。所以我的技能是耻辱。 我有一个telegram bot。有时它会崩溃,我不知道为什么,实际上并不重要,但是当它由于一些奇怪的数据丢失而崩溃时,我需要让bot自行重启。所以请解释我如何添加while Truetry-except。请教我如何将这些结构放在我的代码中。所有的代码必须在try statement之内,对吗?对于愚蠢的问题我很抱歉,但我需要你的帮助。谢谢!重新启动代码本身

+1

你最好关闭读一或两个教程。而且你应该修复潜在的问题,而不是在失败时重新启动。 – mhawke

+1

这不是个性化的点播教程网站。如果您有其他问题尚未解决的具体问题,请先阅读现有教程并返回。 – Julien

回答

-1

都会响起Python: about catching ANY exception

你可以做类似如下:

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

请注意,此捕捉任何异常,这是不是一个好主意。

+0

你是我的英雄!谢谢! –

0

如果您正在使用Linux,那么你可以写,将重新启动Python脚本在崩溃的情况下,并保持它运行一个独立的bash脚本:

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

你会想在运行这个bash脚本背景:

nohup ./bar.sh & 

Source