用户自定义异常也可以是类。利用这个机制可以创建可扩展的异常体系。 以下是两种新的,有效的(语义上的)异常抛出形式,使用 raise Class
raise Instance
第一种形式中, raise Class()
发生的异常其类型如果是 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"
要注意的是如果异常子句的顺序颠倒过来( 打印一个异常类的错误信息时,先打印类名,然后是一个空格、一个冒号,然后是用内置函数 |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2025-1-22 13:22 , Processed in 0.020284 second(s), 18 queries .