Как избежать всех возможных ошибок с помощью функции "попробуй... кроме"
Я запускаю код Python для выполнения непрерывной очистки веб-страниц (на Linux Mint с Python 2.7). Из-за некоторых причин код время от времени ломается. Что я сделал, так это вручную перезапустил код всякий раз, когда произошла ошибка.
Я хочу написать другой код Python, чтобы заменить меня, чтобы выполнить эту работу "проверить состояние, если сломать, а затем снова запустить".
Я не уверен, с чего начать. Кто-нибудь может дать мне подсказку?
1 ответ
Решение
Вы хотите что-то вроде этого:
from my_script import main
restart = True
while restart:
try:
main()
# This line will allow the script to end if main returns. Leave it out
# if you want main to get restart even when it returns with no errors.
restart = False
except Exception as e:
print("An error in main: ")
print(e.message)
print("Restarting main...")
Это требует, чтобы ваш сценарий, my_script.py
в этом примере будет настроено что-то вроде этого:
def foo():
raise ValueError("An error in foo")
def main():
print("The staring point for my script")
foo()
if __name__ == "__main__":
main()