【发布时间】:2016-07-21 19:53:02
【问题描述】:
如果函数失败,我希望找到一个从函数返回失败的良好约定。我通常喜欢返回 None 或 False,但在我的情况下,该函数的目的是读取一个 IO,它可以是 bool (True/False)、int 或 float。
所以在这种情况下,我不能返回 False。我尝试使用 None 但我不知道这是否是最好的情况,如果我在调用函数时不检查返回值,None 输出可能会被识别为 False 输出。
我在考虑有一个包含字符串标记的定义文件,但是必须解析字符串似乎很有效。
是否有可用的内置对象?约定是什么?
【问题讨论】:
-
很确定约定是引发错误。
-
您是否考虑过在错误时引发异常?
-
使用例外。这就是他们的目的。我知道很多不熟悉它们的程序员觉得他们根本不希望发生“错误”,而仅仅捕获它并不是一个很好的解决方案,但这不是错误,而是一个例外- 这就是他们的目的。
-
如果您想要的东西不只是在您忘记检查返回值时被隐藏,您几乎必须引发异常。
标签: python function exception exception-handling