多种异常类型python的异常处理中的常见操作

时间:2018-10-02 17:53:08

标签: python exception-handling readability

我有一个函数f(),如果引发ExceptionAExceptionB,则需要调用该函数。仅在提高A()的情况下才需要致电ExceptionA,并且只有在提高B()的情况下才需要致电ExceptionB。如果都未引发异常,则无需调用任何函数。

考虑以下代码:

try:
    some_flaky_function()

except ExceptionA:
    A()
    f()

except ExceptionB:
    B()
    f()

此代码将完全满足我的需要,但是我正在寻找一种在两个f()块中都不对except进行样板调用的方法。我知道finally块将执行而不管异常,但它也会在成功尝试后执行。此外,即使上述代码包装在一个函数中,在return still 中的函数调用之后放置try也会执行finally语句。无论如何,只要调用f()就能编写上述代码?

0 个答案:

没有答案