如何通过 '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()
我正在 运行宁 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()