有条件的例外

时间:2015-11-11 10:37:58

标签: python exception

我正在尝试编写一个函数,以便

try:
    a() or b()
except:
    raise Error

如果两个语句都失败,我该怎么做才能使函数只引发错误?

失败意味着a或b抛出异常。 a()和b()抛出相同类型的异常

我尝试过使用

try:
    a()
except:
    raise Error

try:
    b()
except:
    raise Error

但这不是我想要的行为。不介意错误类型,它只是简化

1 个答案:

答案 0 :(得分:2)

<table> <tr> <td>element1</td> <td>data</td> <td>junk here which can span multiple lines</td> <td class="shrink">last column, minimum width, one line</td> </tr> <tr> <td>elem</td> <td>more data</td> <td>other stuff</td> <td class="shrink">again, last column</td> </tr> <tr> <td>more</td> <td>of</td> <td>these</td> <td class="shrink">rows</td> </tr> </table>引发的异常将阻止a()被编写时被调用。您需要将两个方法调用放在单独的b()块中,以检查两者是否都失败。

如果您始终要同时拨打trya(),则需要以下内容:

b()

但是,如果您只想在fail_count = 0 try: a() except: fail_count += 1 try: b() except: fail_count += 1 if fail_count == 2: # Do stuff 失败时致电b(),那么这将有效:

a()