【问题标题】:Where do I put exception definitions common to an interface?我应该把接口通用的异常定义放在哪里?
【发布时间】:2012-05-24 10:08:15
【问题描述】:

我养成了在设计某些类时使用 zope.interface 的习惯,这一切都很好,但我对异常有点不确定。我还没有看到任何文档谈论它们(尽管只是在粗略搜索之后)。首先,我想知道将某个接口的任何实现都通用的异常 X 放在哪里。

我总是可以将异常放在它自己的模块中。但是一个完整的模块可能是一个简单的例外?我不介意将它放在定义相关接口的同一个模块中,但我想知道这是否以某种方式被认为是不好的形式?

基本上,我想听听一些使用过接口并了解此约定的人的意见。

【问题讨论】:

    标签: python zope.interface


    【解决方案1】:

    最佳做法是拥有一个interfaces 模块,其中包括所有记录的接口和相应的异常、常量和事件。

    这样,您可以在一个明确定义的位置定义包的 API,查找接口的人可以看到抛出的任何异常都定义在同一位置。

    以下是来自不同项目的一些示例 interface.py 文件:

    【讨论】:

    • 优秀的答案。这些例子让事情变得非常清楚,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多