Я имею дело с проблемой, как вывести предупреждение в 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.