【问题标题】:Handling just one exception code只处理一个异常代码
【发布时间】:2017-03-10 22:48:18
【问题描述】:

我有一个关于try/except 的问题。我有一个例外(我们称之为FooException),其中有一个status_code。我想在 status_code 为 200 时处理异常。

我会这样做:

try:
    ...
except FooException as ex:
    if ex.status_code == 200:
        # do something
    else:
        # do something else

还有其他方法吗,或者这个应该没问题?

谢谢!

【问题讨论】:

标签: python python-2.7 python-3.x


【解决方案1】:

没关系...让您的else: 简单地调用raise,它会简单地重新引发当前异常,以便在其他地方处理。 (或者pass,如果你只是想忽略。)

【讨论】:

  • 是的。谢谢,我确信这可行,但不知道是否有另一种(更 Python 的)方式。
  • 你总是可以创建一个 FooException 的子类,比如说,Foo200Exception 让你的代码抛出 that 异常,但我完全是为了可读性和简单性。在你需要之前而不是之前发明新东西。
猜你喜欢
  • 1970-01-01
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2019-12-28
  • 2014-06-08
  • 2010-10-25
  • 1970-01-01
相关资源
最近更新 更多