Sto cercando di generare un avviso in Python senza interrompere il programma / interrompere / interrompere il programma.
Uso la seguente semplice funzione per verificare se l'utente gli ha passato un numero diverso da zero. In tal caso, il programma dovrebbe avvisarli, ma continuare normalmente. Dovrebbe funzionare come il codice qui sotto, ma dovrebbe utilizzare la classe Warning()
, Error()
o Exception()
invece di stampare l'avviso manualmente.
def is_zero(i):
if i != 0:
print "OK"
else:
print "WARNING: the input is 0!"
return i
Se uso il codice qui sotto e passo 0 alla funzione, il programma si arresta in modo anomalo e il valore non viene mai restituito. Invece, voglio che il programma continui normalmente e informo semplicemente l'utente che ha passato 0 alla funzione.
def is_zero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Voglio essere in grado di provare che è stato lanciato un avviso testandolo da unittest. Se stampo semplicemente il messaggio, non riesco a provarlo con assertRaises in unittest.
print
al messaggio?