拦截异常的情况可能是可以接受的

时间:2017-07-24 11:33:49

标签: python exception

def process_item(...):
  try:
    #some hacking
    #...
    #lots of buggy code
  except Exception as e:
    #do logging
  #record complete/incomplete state

是的我知道我通常应该拦截特定的例外情况。但是,如果代码应用于来自输入数据的许多项目。因此可能存在不可预测的错误。编程错误也是可能的。我有特殊的机制来记录/报告错误状态。我不希望在出现意外错误时停止整个过程,无论错误性质如何。我宁愿想要处理尽可能多的项目。我可以像上面那样捕获基本异常吗?

1 个答案:

答案 0 :(得分:2)

当然,您提供的理由是您可以做到的优秀案例。有时你没有与异常有任何特殊之处,但你仍然不想让它继续下去,无论它是什么类型的异常(这在需要永远运行的应用程序中也很常见,例如服务器许多错误都会被捕获并记录下来,系统会尽力继续尽可能地运行。

但是,请注意except Exception [as e]:except:之间的区别,如本问答&答案A:Difference between except: and except Exception as e: in Python

中所述