Python 3:共享包:从导入的函数返回结果和错误

时间:2016-02-11 16:12:53

标签: python-3.x error-handling

我正在创建一个Python 3.4模块(可能在PyPi上共享)并且我想澄清处理从我的包中导入的函数返回的结果和错误的正确和预期方式。

我正在阅读Effective Python,但我仍感到困惑。

有很多可能性,我只想正确处理导入函数的Python 3结果。

resulterror处理导入的函数:

  1. 返回result,但在出错时抛出exception
  2. 返回result, error
  3. 的元组

    如果首选的选择是元组,那么应该:

    1. 成功后,result可以是任何内容(这是正确的吗?),但是error应该是None还是应该是False
    2. 如果失败,那么result应该是None还是应该False,然后error应该返回内部Exception或什么?
    3. 感谢您的反馈

1 个答案:

答案 0 :(得分:0)

您应该在出错时抛出异常。这样可以实现许多预先构建,例如正确的对象破坏,例如with关键字。

如果您提出异常,则不关心result,因为您的功能将无法以正常方式返回。因此,函数调用左侧的指令也不会执行try块的其余部分。