最佳答案
我试图在Python中提出警告,而不使程序崩溃/停止/中断。
我使用下面的简单函数来检查用户是否传递了一个非零的数字给它。如果是这样,程序应该警告他们,但照常进行。它应该像下面的代码一样工作,但应该使用类Warning()
, Error()
或Exception()
,而不是手动打印警告。
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
如果我使用下面的代码并将0传递给函数,程序将崩溃并且永远不会返回值。相反,我希望程序继续正常运行,只是通知用户他向函数传递了0。
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
我希望能够测试一个警告已经抛出测试它由unittest。如果我只是把消息打印出来,我不能用unittest中的assertRaises测试它。