프로그램 충돌 / 중지 / 중단없이 파이썬에서 경고를 올리려고합니다.
다음 간단한 함수를 사용하여 사용자가 0이 아닌 숫자를 전달했는지 확인합니다. 그렇다면, 프로그램은 경고를하지만 정상적인대로 계속 진행해야합니다. 그것은 아래의 코드처럼 작동해야하지만 클래스를 사용한다 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에서 경고를 테스트했는지 테스트하고 싶습니다. 단순히 메시지를 인쇄하면 unittest에서 assertRaises로 테스트 할 수 없습니다.
print메시지 만 보내지 않습니까?