exc = None
try:
raise Exception
except Exception as exc:
pass
# ...
print(exc)
NameError: 名前 'exc' が定義されていません
これは Python2 で機能していました。なぜこのように変更されたのですか?exc
クラスレベルの属性と同様に、少なくとも に再割り当てできれば
class Foo(object):
Bar = Bar
しかし、これでも機能しません。
exc = None
try:
raise Exception
except Exception as exc:
exc = exc
同じことを達成するための良いヒントはありますか? 次のようなことは書きたくない。
exc = None
try:
raise Exception("foo")
except Exception as e:
exc = e
# ...
print(exc)