我试图建立一个定义,对我的定义进行错误检查。构造此代码以进行错误处理的正确方法是什么?
我希望脚本运行指定的定义,如果失败,请重试多次,如果超时则将其终止。
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
变量。 (除非您之前使用过...)
关于python - Python错误处理重试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50374010/