Estoy tratando de generar una Advertencia en Python sin hacer que el programa se bloquee / pare / interrumpa.
Utilizo la siguiente función simple para verificar si el usuario le pasó un número distinto de cero. Si es así, el programa debería advertirles, pero continuar según lo normal. Debería funcionar como el código a continuación, pero debería usar class Warning()
, Error()
o en Exception()
lugar de imprimir la advertencia manualmente.
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
Si uso el siguiente código y paso 0 a la función, el programa se bloquea y el valor nunca se devuelve. En cambio, quiero que el programa continúe normalmente y solo informe al usuario que pasó 0 a la función.
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Quiero poder probar que se ha lanzado una advertencia probándola por unittest. Si simplemente imprimo el mensaje, no puedo probarlo con afirmarRaises en unittest.
print
el mensaje?