-2
文件'mig.txt'在我的当前工作目录中不存在。所以下面的代码应该会遇到一个IOError异常,并且由于'mig.txt'从来没有被创建过,所以它也会引发一个'NameError',表示'bat'没有被定义。但是,即使该文件从未创建,finally块如何正常工作?它是否与Python版本(3.6.0)有关?Python中的例外
try:
bat=open('mig.txt')
print(bat.readline(),end='')
except IOError:
print('File error')
finally:
bat.close()
输出:
File error
你是什么意思?在尝试访问其属性之前,请仔细检查该名称是否存在。为什么你会期望名称错误? – jonrsharpe
道歉。我只需通过删除当地人中'if'bat'来编辑finally块:'。我仍然得到相同的输出。 –
我期望名称错误,因为文件mig.txt从来没有创建过,因此,它不可能调用close()方法吗? –