我发现自己一直在为数字运算编写相同的参数检查代码:
def myfun(a, b):
if a < 0:
raise ValueError('a cannot be < 0 (was a=%s)' % a)
# more if.. raise exception stuff here ...
return a + b
有没有更好的办法?我被告知不要对这些事情使用“断言”(尽管我没有看到问题,除了不知道导致错误的变量的值)。
编辑:为了澄清,参数通常只是数字,错误检查条件可能很复杂,不平凡,以后不一定会导致异常,而只会导致错误的结果。(不稳定的算法,无意义的解决方案等)