【发布时间】:2016-07-17 21:53:59
【问题描述】:
下面是来自python documentation 处理异常处理和类的示例代码。我正在努力理解这两者,而且我的背景是 Java,所以我习惯于强类型的类和变量。有人可以详细解释一下这里发生了什么吗?
class B:
pass
class C(B):
pass
class D(C):
pass
for c in [B, C, D]:
try:
raise c()
except D:
print "D"
except C:
print "C"
except B:
print "B"
前六行实际上是创建 B、C 和 D 的实例还是只是创建一个类类型。如果它们只是类类型,我假设它们已在for c in [B, C, D]: 中设置。类 C 和 D 的实例如何在没有参数的情况下实例化?那么异常的东西是怎么回事呢?
【问题讨论】: