如何通过'try ... except'功能避免所有可能的错误

时间:2015-04-20 05:54:08

标签: python process monitor status running-other-programs

我正在运行一个python代码来进行连续的Web报废(使用Python 2.7在linux mint上)。由于某些原因,代码会不时出现故障。到目前为止,我所做的是在发生错误时手动重新运行代码。

我想写另一个python代码来取代我做这个'检查状态,如果休息,然后重新运行'工作

我不知道从哪里开始。谁能给我一个暗示?

1 个答案:

答案 0 :(得分:3)

你想要这样的东西:

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()