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

How to avoid all possible errors by 'try... except' function

我正在 运行宁 python 代码来进行连续的网页抓取(在 linux mint 上 Python 2.7)。由于某些原因,代码有时会崩溃。到目前为止,我所做的是在发生错误时手动重新运行代码。

我想写另一个 python 代码来代替我做这个 'check status, if break, then re-run' 工作。

我不知道从哪里开始。谁能给我提示?

你想要这样的东西:

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