2
このユースケースのためのpythonでの標準的なメカニズムがある場合、私は疑問に思って:Pythonで遅延例外が発生しますか?
try:
do_a()
if something_happens():
raise DelayedException # is really only raised after do_b()
do_b()
except DelayedException as de:
# handle de after the entire try/except block completed
私は明らかにちょうど後で処理するために、変数に例外情報を格納することができ、そのようなaが存在する場合、私は思ったんだけどメカニズムはPythonに組み込まれています(違いがあれば3.x)。
EDIT: 明らかに、私の使用例では、例外処理ではdo_b()の結果が必要です。
あなたは 'do_b()は'独自の例外を上げた場合に発生するのでしょうか? –
try-finallyブロック(finallyブロックの 'do_b()')で 'do_something()'をラップしませんか? – dhke
いいえ、ものではありません。これは例外の使用例のようには見えません。エラーを記録して後でチェックしてください。 – user2357112