我试图构建一个对我的定义进行错误检查的定义。构建此代码以进行错误处理的正确方法是什么?
我希望脚本运行指定的定义,如果失败,请重试多次,然后在超时时将其终止。
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
变量。(除非你以前用过它...