当前位置: 代码迷 >> python >> 在python中引发延迟异常?
  详细解决方案

在python中引发延迟异常?

热度:86   发布时间:2023-06-13 14:25:03.0

我想知道 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() 的结果。

是的,但它很丑:

try:
    do_a()
    try:
        if do_something():
            raise DelayedException()
    finally:
        do_b()
except DelayedException:
    pass