嵌套的try-except记录错误异常

时间:2019-06-06 22:53:12

标签: python

我嵌套了try语句,但看起来会打印出错误异常的块除外。

这是在python 2.7.16上

import logging

try:
    raise ValueError('1')
except Exception as e:
    try:
        raise KeyError('2')
    except KeyError:
        logging.exception(e)

输出为

ERROR:root:1
Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
KeyError: '2'

但是我希望输出是第一个例外,因为这是分配给e的东西。

跟进问题

如果我想保存第一个异常的执行信息,该怎么办?

1 个答案:

答案 0 :(得分:0)

哦,这里的答案是:第二个例外只是执行信息。实际的消息来自第一个。