Je fais face à un problème comment lever un avertissement en Python sans avoir à laisser le programme planter/arrêter/interruption.Comment lever un avertissement en Python sans arrêter (interrompre) le programme?
J'utilise la fonction simple suivante qui vérifie seulement si l'utilisateur lui a passé un nombre différent de zéro. Si l'utilisateur passe un zéro, le programme devrait avertir l'utilisateur, mais continuer normalement. Il devrait fonctionner comme le code suivant, mais devrait utiliser la classe Warning(), Error() ou Exception() au lieu d'imprimer l'avertissement manuellement. Si j'utilise le code ci-dessous et passe 0 à la fonction, le programme se bloque et la valeur n'est jamais retournée. Au lieu de cela, je veux que le programme continue normalement et informe simplement l'utilisateur qu'il a passé 0 à la fonction.
def isZero(i):
if i != 0:
print "OK"
else:
raise Warning("the input is 0!")
return i
Le point est que je veux être en mesure de vérifier qu'un avertissement a été lancé par le test unittest. Si j'imprime simplement le message, je ne suis pas capable de le tester avec assertRaises en unittest.
Merci, Tomas
Comment voulez-vous exactement pour informer l'utilisateur? par email ou SMS? Parce que cela peut être branché, mais vous devez être spécifique. – aaronasterling
Pourquoi ne pas simplement "imprimer" le message? – sje397
@ sje397 Le point est que je veux être capable de tester qu'un avertissement a été lancé en le testant par unittest. Si j'imprime simplement le message, je ne suis pas capable de le faire avec assertRaises en unittest. –