问题描述
我想知道 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
我显然可以将异常信息存储在一个变量中以供以后处理,但我想知道 python 中是否有这样的机制(3.x,如果这有所不同)。
编辑:为了澄清,在我的用例中,异常处理需要 do_b() 的结果。
1楼
是的,但它很丑:
try:
do_a()
try:
if do_something():
raise DelayedException()
finally:
do_b()
except DelayedException:
pass