python try except else finally

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python try except else finally相关的知识,希望对你有一定的参考价值。

python  try except else finally 实例

class AError(Exception):
    """AError---exception"""
    print(AError)

class BError(Exception):
    """BError---exception"""
    print(BError)

try:
    # raise AError
    # raise BError
    aaaaa()
except AError:
    print("Get AError")
except BError:
    print("Get BError")
except:
    print("Get Exception")
else:
    print("do else")
finally:
    print("finally")

 

1.在上面所示的完整语句中try/except/else/finally所出现的顺序必须是try-->except X-->except-->else-->finally,即所有的except必须在else和finally之前,else(如果有的话)必须在finally之前,而except X必须在except之前。否则会出现语法错误。

2.在上面的完整语句中,else语句的存在必须以except X或者except语句为前提,如果在没有except语句的try block中使用else语句会引发语法错误。也就是说else不能与try/finally配合使用。

3.try成功进else,不成功进对应的except;

4.不论是否成功except X,except的判定语句都会执行,只是不进入;对应到以上程序就是不论哪种情况 AError BError都会打印,但是Get AError Get BError 只有抛对应的异常时才会打印。

5.finally所有情况都会执行,可以不写,写了就必须在所有except else等之后;

 

以上是关于python try except else finally的主要内容,如果未能解决你的问题,请参考以下文章

python try except else finally

python中try/except/else/finally的用法

python中try/except/else/finally的用法

python try/except/else/finally执行顺序

Python入门教程第54篇 异常处理之try…except…else

为啥在 try/except 块中使用 Python 的“else”子句? [复制]