嵌套try / catch语句是不好的?

时间:2011-05-02 07:57:28

标签: python exception coding-style

我现在的情况:

try:
  try:
    condition
  catch

  try:
    condition
  catch

catch
 major failure

拥有这样的代码是不是很糟糕?它是否混乱太多,或者类似的东西会产生什么影响?

2 个答案:

答案 0 :(得分:3)

不,这有点常见(除了关键字是except而不是catch)。这取决于你需要做什么和设计。

我看到太多的错误,就是捕捉顶级Exception类,而不是更具体的东西(例如KeyError)。或者提高它。

答案 1 :(得分:2)

我不会只是做出判决并宣称“这很糟糕”,因为有时你可能需要它。 Python有时会故意抛出异常而不是让你问(这是......?)[EAFP座右铭]在某些情况下try/catch的嵌套是有用的 - 当这对代码的逻辑流有意义时。 / p>

但我的猜测是,大多数时候你没有。因此,在您的案例中,更好的问题是提出一个特定用例,您认为您需要这样的代码。