9.|9. Python的异常

try..except 我们可以使用try..except语句来处理异常。我们把通常的语句放在try-块中,而把我们的错误处理语句放在except-块中。
except从句可以专门处理单一的错误或异常,或者一组包括在圆括号内的错误/异常。如果没有给出错误或异常的名称,它会处理所有的错误和异常。对于每个try从句,至少都有一个相关联的except从句。
你还可以让try..catch块关联上一个else从句。当没有异常发生的时候,else从句将被执行。
引发异常 可以使用raise语句引发异常。你还得指明错误/异常的名称和伴随异常触发的异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。

# 通过继承定义一个自定义的异常‘ShortInputException’。 class ShortInputException(Exception): '''A user-defined exception class.''' def __init__(self, length, atleast): Exception.__init__(self) self.length = length self.atleast = atleasttry: s = input('Enter something --> ') if len(s) < 3: print(len(s)) raise ShortInputException(len(s), 3) except EOFError: print ('\nWhy did you do an EOF on me?') except ShortInputException as x: #与Python 2.X不同的写法 print ('ShortInputException: The input was of length %d, \ was expecting at least %d' % (x.length, x.atleast)) else: print ('No exception was raised.') finally: print('finish the pro')

finally 【9.|9. Python的异常】在一个try块下,你可以同时使用except从句和finally块,要同时使用它们的话,需要把一个嵌入另外一个。
finally块在执行了try 或者 except后一定会执行。

    推荐阅读