尝试/除外...即使错误也尝试一切

时间:2014-12-11 21:58:10

标签: python exception exception-handling try-except

我有很多问题。我试图找到一种方法,我可以在一个try语句中尝试每个语句。

例如:

try:
  funct1()
  funct2()
  funct3()
except:
   print("expected")

在我的情况下,try/except是预期的,因为其中一个函数将失败。 如果没有多个try/except或最好的方法,我怎么能这样做呢?

在当前情况下,如果funct2失败,funct3将无法运行。

2 个答案:

答案 0 :(得分:4)

您可以将try/except置于循环中:

for funct in (funct1, funct2, funct3):
    try:
       funct()
    except Exception:  # Catch something more specific if you can.
       print("expected")

这将确保执行所有函数,即使一个或多个函数引发异常。

答案 1 :(得分:0)

在我看来,在函数中使用 try-except 块。因为,他们正在捕获一堆代码之间的错误。在一个大程序中,如果你试图捕获一个中的所有错误将是一个问题。所以,在你的函数中定义你的 try-except 块,更清晰,更实用。