我给出以下代码片段, 在代码的末尾,我得到了一个空白的输出文件
在with上下文中,当引发异常时,文件将关闭,并在下一次迭代中再次重写
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
语句有什么可能的解决方案?你知道吗
当使用
try
/except
块时,try
块在except
块完成时不继续。你知道吗一个可能的解决方案是用
pass
语句代替raise Exception()
语句,该语句当前引发了一个无意义的异常。你知道吗事实上,你应该读一点关于when to use exceptions的书。你知道吗
相关问题 更多 >
编程相关推荐