try...catch...else...finally f.close 報錯
try:
? ?f = open('2.txt')
? ?line = f.read(2)
? ?num = int(line)
? ?print 'read num = %d' %num
except IOError,e:
? ?print 'catch IOError,[%s]' % e
except ValurError,e:
? ?print 'catch ValueError,[%s]' % e
else: ? ? ?#當try模塊執行完畢,且無任何異常時,進入else模塊
? ?print 'No Error'
finally:
? ?print 'enter finally.close file'
? ?f.close()
為什么pycharm編譯器上運行這段代碼,會提示finally中的f沒有定義呢?:
Traceback (most recent call last):
? File "E:/python/test/my/class03.py", line 36, in <module>
? ? f.close()
NameError: name 'f' is not defined
2022-03-30
2018-01-17
謝謝,不用了。我看了下一節的內容,已經知道原因了。
2018-01-17
# 我的輸出:?
catch ValueError,[invalid literal for int() with base 10: '# ']
enter finally.close file