이를 이용해 각 함수 앞부분에서 인수가 올바른지 점검할 수 있다.
def add_time(t1, t2):
if not valid_time(t1) or not valid_time(t2):
raise ValueError('invalid Time object in add_time')
seconds = time_to_int(t1) + time_to_int(t2)
return int_to_time(seconds)
또는 assert 문을 사용할 수도 있다. assert 문은 불변 조건을 검사하고 조건을 만족하지 않으면 예외를 일으킨다.
def add_time(t1, t2):
assert valid_time(t1) and valid_time(t2)
seconds = time_to_int(t1) + time_to_int(t2)
return int_to_time(seconds)
assert 문을 사용하면 정상 조건을 다루는 코드와 오류를 검사하는 코드를 나눠주는 이점이 있다.