python的异常处理


                python的异常处理
              
            
            因为有C和C++的基础,看起python没有多达的困难,今天在看书的时候,发现有一个程序解释的时候没有通过。
#!/usr/bin/python
# Filename: finally.py
import time
try:
    f = file('poem.txt')
    while True: # our usual file-reading idiom
        line = f.readline()
        if len(line) == 0:
            break
        time.sleep(2)
        print line,
finally:
    f.close()
    print 'Cleaning up...closed the file'
可是解释的时候,总是出错:
wangyao@wangyao:~/bin$ python finally.py
Traceback (most recent call last):
  File "finally.py", line 15, in ?
    f.close()
NameError: name 'f' is not defined
加了global后还是解释出错。
最后,把f的声明放到try的外面就可以了。
晕!