Я пытаюсь поднять предупреждение в 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. Если я просто распечатываю сообщение, я не могу проверить его с помощью assertRaises в unittest.
print
сообщение?