在Python 2中,是否需要raise
从异常继承所需的所有异常?
也就是说,以下内容足以捕获任何可能的异常:
try:
code()
except Exception as e:
pass
还是我需要一些更通用的东西,比如
try:
code()
except:
pass
答案 0 :(得分:6)
使用第一个变体,您将捕获所有内置的,非系统退出的异常" (https://docs.python.org/2/library/exceptions.html),并且应该捕获用户定义的异常("所有用户定义的异常也应该来自此类")。
例如,第一个变体不会捕获用户按下的Control-C(KeyboardInterrupt),但第二个变体将会捕获。