프로그램 충돌 / 중지 / 중단없이 파이썬에서 경고를 올리려고합니다.
다음 간단한 함수를 사용하여 사용자가 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
메시지 만 보내지 않습니까?