Python 错误处理重试代码



我试图构建一个对我的定义进行错误检查的定义。构建此代码以进行错误处理的正确方法是什么?

我希望脚本运行指定的定义,如果失败,请重试多次,然后在超时时将其终止。

import time
def open_file():
open('testfile.py')
def run_def(definition):
for i in range(0, 4):
try:
definition
str_error = None
except Exception as str_error:
pass
if str_error:
time.sleep(1)
print(str_error)
else:
break
print('kill script')
run_def(open_file())

当我尝试将定义传递到错误检查定义中时,我收到错误。但是如果我不将错误检查器放入单独的定义中,该脚本就可以工作。

FileNotFoundError: [Errno 2] No such file or directory: 'testfile.py'

我不确定你想做什么,但如果你想捕捉异常,你的调用函数应该放在你的try / except块中。

喜欢这个:

import time
def open_file():
open('testfile.py')
def run_def(definition):
for i in range(0, 4):
try:
definition()
except Exception as str_error:
if str_error:
time.sleep(1)
print(str_error)
else:
break
print('kill script')
run_def(open_file)

你不需要在except之后通过.

而且您之前不需要初始化str_error变量。(除非你以前用过它...

最新更新