python中except的异常处理

python中except的异常处理
python中except的异常处理

1、说明

如果发生的异常和 except 子句中的类是同一个类或者是它的基类,则异常和 except 子句中的类是兼容的(但反过来则不成立)。

2、实例

例如,下面的代码将依次打印 B, C, D

class B(Exception):
    pass
 
class C(B):
    pass
 
class D(C):
    pass
 
for cls in [B, C, D]:
    try:
        raise cls()
    except D:
        print("D")
    except C:
        print("C")
    except B:
        print("B")

请注意如果except子句被颠倒(把 except B 放到第一个),它将打印B,B,B — 即第一个匹配的 except 子句被触发。

最后的except 子句可以省略异常名,以用作通配符。但请谨慎使用,因为以这种方式很容易掩盖真正的编程错误!它还可用于打印错误消息,然后重新引发异常(同样允许调用者处理异常)。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注