【问题标题】:What's the difference between "KeyError" and "KeyError as e"?“KeyError”和“KeyError as e”有什么区别?
【发布时间】:2014-11-19 15:56:46
【问题描述】:

在编写try/except语句时,是否使用

except KeyError:

except KeyError as e:

我得到了同样的结果。

这两者有什么区别? KeyError as e 只是更具体/自定义吗?

【问题讨论】:

  • 您将获得实际的异常对象作为变量e。除此之外,没有任何区别。
  • 好吧,我明白你的意思了。
  • 您通常可以避免 reading the docs 听起来很愚蠢并自己回答问题!
  • 谢谢你的提示!
  • 这里有一个详细的答案:stackoverflow.com/questions/18982610/…

标签: python django try-catch


【解决方案1】:

使用except KeyError as e: 时,您可以使用e 将异常及其属性作为对象访问。像这样:

def test_function():
    try:
        do_something_that_fails()
    except Exception as e:
        print e.message, e.args

这将有助于调试您在抛出异常时遇到的任何问题。

您可以在Python Documentation 中找到有关其工作原理的更多信息。

祝你好运!

【讨论】:

    猜你喜欢
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 2010-11-24
    • 2013-07-20
    • 1970-01-01
    相关资源
    最近更新 更多