`尝试...除了异常,因为e`捕获每个可能的异常?

时间:2014-11-27 05:41:32

标签: python exception

在Python 2中,是否需要raise从异常继承所需的所有异常?

也就是说,以下内容足以捕获任何可能的异常:

try:
   code()
except Exception as e:
   pass

还是我需要一些更通用的东西,比如

try:
   code()
except:
   pass

1 个答案:

答案 0 :(得分:6)

使用第一个变体,您将捕获所有内置的,非系统退出的异常" (https://docs.python.org/2/library/exceptions.html),并且应该捕获用户定义的异常("所有用户定义的异常也应该来自此类")。

例如,第一个变体不会捕获用户按下的Control-C(KeyboardInterrupt),但第二个变体将会捕获。