美文网首页python相关
9. Python的异常

9. Python的异常

作者: edwin1993 | 来源:发表于2018-03-27 17:39 被阅读0次
    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 = atleast
    
    try:
        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

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

    相关文章

      网友评论

        本文标题:9. Python的异常

        本文链接:https://www.haomeiwen.com/subject/jwrscftx.html