def process_item(...):
try:
#some hacking
#...
#lots of buggy code
except Exception as e:
#do logging
#record complete/incomplete state
是的我知道我通常应该拦截特定的例外情况。但是,如果代码应用于来自输入数据的许多项目。因此可能存在不可预测的错误。编程错误也是可能的。我有特殊的机制来记录/报告错误状态。我不希望在出现意外错误时停止整个过程,无论错误性质如何。我宁愿想要处理尽可能多的项目。我可以像上面那样捕获基本异常吗?
答案 0 :(得分:2)
当然,您提供的理由是您可以做到的优秀案例。有时你没有与异常有任何特殊之处,但你仍然不想让它继续下去,无论它是什么类型的异常(这在需要永远运行的应用程序中也很常见,例如服务器许多错误都会被捕获并记录下来,系统会尽力继续尽可能地运行。
但是,请注意except Exception [as e]:
和except:
之间的区别,如本问答&答案A:Difference between except: and except Exception as e: in Python