Python,how do you work (三)

python的异常处理也是很简单的东西。

 

和其他语言的异常处理没什么太大的区别。

 

主要使用try...except 语句来进行的

 

 

import sys

try:
    s = raw_input('Enter something --> ')
except SystemExit:
    print '\nWhy did you do an EOF on me?'
    sys.exit() # exit the program
except:
    print '\nSome error/exception occurred.'
    # here, we are not exiting the program

print 'Done'

 

 

使用ctrl+d来触发这个异常

 

 

class ShortInputException(Exception):
    '''A user-defined exception class.'''
    def __init__(self, length, atleast):
        Exception.__init__(self)
        self.length = length
        self.atleast = atleast

try:
    s = raw_input('Enter something --> ')
    if len(s) < 3:
        raise ShortInputException(len(s), 3)
    # Other work can continue as usual here
except EOFError:
    print '\nWhy did you do an EOF on me?'
except ShortInputException, x:
    print 'ShortInputException: The input was of length %d, \
          was expecting at least %d' % (x.length, x.atleast)
else:
    print 'No exception was raised.'

 

 

下面是使用finlly和try...except嵌套

 

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,
except IOError:
    print 'IOError'
finally:
    try:
        f.close()
    except NameError:
            print 'NameError'
    print 'Cleaning up...closed the file'

 

 

你可能感兴趣的:(python)