【问题标题】:Python exception base class vs. specific exceptionPython 异常基类与特定异常
【发布时间】:2016-09-22 18:43:09
【问题描述】:

我只是想知道,当使用 try..except 时,使用基类“Except”和使用特定异常(如“ImportError”或“IOError”或任何其他特定异常)有什么区别。两者之间有优缺点吗?

【问题讨论】:

  • 具体查看docs.python.org/3/tutorial/errors.html,看看“其类型是否匹配以except关键字命名的异常”;这不是关于你可以在 except 子句中做什么,而是关于控制如何去那里或不去那里

标签: python exception exception-handling


【解决方案1】:

永远不要捕获基本异常。始终只捕获您知道如何处理的特定异常。其他一切都应该不理会;否则你可能会隐藏重要的错误。

【讨论】:

    【解决方案2】:

    当然,对相应问题使用正确的例外是有好处的。然而 Python 已经为编码问题定义了所有可能的错误。但是您可以通过从Exception 类继承来创建自己的异常类。这样,您可以为代码的特定部分产生更有意义的错误。你甚至可以像这样让期望打印错误。

    SomeError: 10 should have been 5.
    

    提供更容易的代码调试。

    For more info.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多