我提供以下代码段, 在代码的最后,我得到空白输出文件
在引发异常时使用上下文文件关闭并在下一次迭代中再次覆盖
with open('output', 'w') as f:
try:
for i in range(1, 100):
if i % 2 == 0:
f.write('%d \n' % i)
else:
raise Exception()
except Exception as e:
pass
我的理解是否正确? 如果是这样,为什么会出现这种情况?因为我处理异常。
with
语句始终关闭文件是否正确
每当边栏中出现异常时。
使用with
声明可能有什么解决方案?
答案 0 :(得分:2)
使用try
/ except
块时,try
块完成后except
块不会继续。
一种可能的解决方案是使用raise Exception()
语句替换当前引发无意义异常的pass
语句。
事实上,您应该对when to use exceptions进行一些阅读。