- 使用
assert
作为标准代码的一部分而不是仅用于调试目的是否存在性能或代码维护问题?
是
assert x >= 0, 'x is less than zero'
好于或差于
if x < 0:
raise Exception('x is less than zero')
- 此外,是否有任何方法可以设置业务规则,如
if x < 0 raise error
始终在没有try/except/finally
所以,如果在整个代码中的任何时候x
0 引发错误,例如,如果您在函数开始时设置assert x < 0
,在函数内的任何地方x
变得小于 0 引发异常?
原文由 meade 发布,翻译遵循 CC BY-SA 4.0 许可协议
当 x 在整个函数中小于零时能够自动抛出错误。您可以使用 类描述符。这是一个例子: