2017-10-09 41 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