我试图在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对其进行测试.