【发布时间】:2010-01-21 02:14:32
【问题描述】:
我在 Python except 子句中有一些代码用于进行一些日志记录,但日志记录代码本身可能会导致异常。就我而言,我想忽略可能发生的任何第二个异常,并引发原始异常。这是一个非常简化的示例:
try:
a = this_variable_doesnt_exist
except:
try:
1/0
except:
pass
raise
运行上面的代码,希望得到:
NameError: name 'this_variable_doesnt_exist' is not defined
但是,在 Python 2.x 中,我得到:
ZeroDivisionError: integer division or modulo by zero
我发现在 Python 3.x 中,它可以满足我的需求。
我在 Python 2.x 文档中找不到太多关于此的评论(除非我错过了)。我可以在 2.x 中实现这一点吗?
【问题讨论】: