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

标签 python process monitor status running-other-programs

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

我想编写另一个Python代码来代替我来做这个“检查状态,如果中断,则重新运行”的工作。

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

最佳答案

你想要这样的东西:

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

关于python - 如何通过 'try... except'函数避免所有可能的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740185/

相关文章:

python - 无法理解有关自定义 Python 的宏语法的语句

python - Pygame 找不到所需的字体

multithreading - 如何在aix上查看正在运行的进程的所有线程堆栈?

node.js - 获取node.js中所有嵌套子进程的标准输出

operating-system - 为什么以这种方式在信号量方面实现监视器?

mysql - 如何从监控串口获取信息到Linino?

Python 和 json 问题

python - 欧拉计划数 338

java - 在 Java 中执行命令

android - Eclipse/Android - 如何监控设备的 HTTP 流量