1
Python 3で呼び出し側に特定の例外を発生させる方法を無視できますか?Python 3の呼び出し元に例外を発生させないようにします。3
例:私は誰かがため、Pythonで思い出したされている最後のスローされた例外の、例外投げ声明に関与するオブジェクトの一部が無期限を生きた保たれている」と述べた
def do_something():
try:
statement1
statement2
except Exception as e:
# ignore the exception
logging.warning("this is normal, exception is ignored")
try:
do_something()
except Exception as e:
# this is unexpected control flow, the first exception is already ignored !!
logging.error("unexpected error")
logging.error(e) # prints None
"そして、この場合、" sys.exc_clear() "を使用するように言及しました。これは、Python 3ではもう利用できません。
例えばは、Pythonの2に、例外がまだされています。それは、Python 2で行ったように、Pythonが内部的に最後に発生した例外が格納されていないので、
あなたが外 'except'ブロックは、あなたの実際のプログラムでトリガされているものを見る場合は、あなたの質問に反映されていないいくつかの他の問題があります。あなたの質問のコード構造は決して外側の 'except'ブロックを引き起こすべきではありません。 – user2357112