【问题标题】:how do I catch multiple error types [duplicate]如何捕获多种错误类型[重复]
【发布时间】:2017-01-13 07:19:47
【问题描述】:

我想打印一个可能尚不存在或可能已初始化为 None 的对象的属性。

我将它包装在 try/except 中。但是,我要捕获的两个异常是 NameError 尝试访问不存在的变量时,或者 AttributeError 尝试访问不存在的对象的属性时。

问题

如何同时捕获两个异常?

我做了什么

try:
    print myobject.a
except NameError:
    pass
except AttributeError:
    pass

【问题讨论】:

  • 你的意思是except (AttributeError, NameError):
  • @PadraicCunningham 如此简单。有时最简单的事情对我来说似乎很难找到或弄清楚。
  • 如果你想做一些例外的事情,你也可以使用except (AttributeError, NameError) as e:

标签: python try-catch


【解决方案1】:

只需使用括号:

try:
    print myobject.a
except (NameError, AttributeError):
    pass

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 2016-08-12
    • 2020-12-11
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多