【发布时间】:2015-12-12 22:16:23
【问题描述】:
我正在尝试简化以下内容:
if x < 0:
print('we don't do negative numbers')
else:
NORMAL CODE HERE
我最近了解了assert 命令,并钦佩它能够将我之前的行简化为:
assert x > 0, 'errorText'
NORMAL CODE HERE
不过,我不希望错误提供回溯。我只想要 if/else 给出的那一行。
有没有办法让 assertionError 像异常一样返回单行,或者我真的需要继续运行 if/else's 无处不在吗?
【问题讨论】:
-
如果你不想回溯,你可能在滥用
assert。查看手册了解其实际用法。 -
如果 x 是运行时变体,不要
assert而是raise域特定异常。