Eu estou tentando gerar um aviso em Python sem fazer o programa travar / parar / interromper.
Eu uso a seguinte função simples para verificar se o usuário passou um número diferente de zero para ele. Nesse caso, o programa deve avisá-los, mas continue conforme o normal. Ele deve funcionar como o código abaixo, mas deve usar a classe ou Warning()
, em vez de imprimir o aviso manualmente.Error()
Exception()
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
Se eu usar o código abaixo e passar 0 para a função, o programa trava e o valor nunca é retornado. Em vez disso, quero que o programa continue normalmente e apenas informe ao usuário que ele passou 0 para a função.
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Quero poder testar se um aviso foi lançado testando-o por unittest. Se eu simplesmente imprimir a mensagem, não poderei testá-la com assertRaises em um ponto.
print
a mensagem?