在 try-except 的最外层循环发生错误后,是否有 return 的选项?
Is there an option to return after occuring error to the outest loop by try-except?
我的任务是测量两个代码版本之间的时间,在 运行ning 它一百次之后。程序实际在某一点中断。修复它是别人的任务。所以我已经做的是,我在 for 循环中从另一个脚本调用程序。但是在发生错误(FileNotFoundError)之后,我没有找到return到最外循环的方法,但是,让它再次运行。
我已经在错误发生的地方之前放了一个try部分,但是我不知道在except部分放什么。当然,我可以在每个使用的函数中的任何地方放置一个 "return" 以结束在最外层循环中。有没有比这更简单的方法?
with open('bla-program.py') as f:
script = f.read()
z = np.arange(0, 100, 1)
a = time.time()
for i in z:
exec(script) ### now, that's the point, I cannot reach again
b=time.time()
print(a, b, "difference", b-a)
\现在正在调用各种函数,计算一些东西,...接着,登陆另一个由bla-program引导的文件,出现错误,如下所示
try:
os.mkdir(os.path.join(bla.blabla, "bladibla.org"))
except FileNotFoundError:
return ###on this point, I want to return to the point displayed above
我不想让 FileNotFoundError 终止 运行,我想 运行 程序一百次直到出错。
你应该把 try/except
放在 exec(script)
周围:
for i in z:
try:
exec(script)
except:
# Print an error message or whatever
我的任务是测量两个代码版本之间的时间,在 运行ning 它一百次之后。程序实际在某一点中断。修复它是别人的任务。所以我已经做的是,我在 for 循环中从另一个脚本调用程序。但是在发生错误(FileNotFoundError)之后,我没有找到return到最外循环的方法,但是,让它再次运行。
我已经在错误发生的地方之前放了一个try部分,但是我不知道在except部分放什么。当然,我可以在每个使用的函数中的任何地方放置一个 "return" 以结束在最外层循环中。有没有比这更简单的方法?
with open('bla-program.py') as f:
script = f.read()
z = np.arange(0, 100, 1)
a = time.time()
for i in z:
exec(script) ### now, that's the point, I cannot reach again
b=time.time()
print(a, b, "difference", b-a)
\现在正在调用各种函数,计算一些东西,...接着,登陆另一个由bla-program引导的文件,出现错误,如下所示
try:
os.mkdir(os.path.join(bla.blabla, "bladibla.org"))
except FileNotFoundError:
return ###on this point, I want to return to the point displayed above
我不想让 FileNotFoundError 终止 运行,我想 运行 程序一百次直到出错。
你应该把 try/except
放在 exec(script)
周围:
for i in z:
try:
exec(script)
except:
# Print an error message or whatever