以下は、例外処理とクラスを扱うpython documentationのコード例です。私はこれらの両方を理解するために取り組んでおり、背景はJavaであるため、クラスと変数を厳密に型指定することに慣れています。誰かがここで何が起こっているのか詳しく説明してください?Pythonの例外(ドキュメントの例)
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"
は、第6行実際B、C、及びDのインスタンスを作成するか、または単にクラス型を作成しています。それらが単なるクラス型の場合、私はそれらがfor c in [B, C, D]:
に置かれていると仮定します。クラスCとクラスDのインスタンスは、パラメータなしでどのようにインスタンス化できますか?それでは例外的なことは何ですか?