class SoldOutError(Exception):
pass
chicken = 10
waiting = 1
while True:
try:
print("[남은 치킨 : {0}]".format(chicken))
order = int(input("치킨을 몇 마리 주문하시겠습니까? "))
if order > chicken:
print("재료가 부족합니다.")
elif order <= 0:
raise ValueError
else:
print("[대기번호 {0}] {1}마리를 주문했습니다.".format(waiting, order))
waiting += 1
chicken -= order
if chicken == 0: ---------- ➍ 남은 치킨 수가 0이면
raise SoldOutError ---- ➍ 재료 소진으로 주문이 불가능하므로 오류 발생
except ValueError:
print("잘못된 값을 입력했습니다.")
except SoldOutError: ---------- ➍ 재료 소진 시 발생하는 오류의 예외 처리
print("재료가 소진돼 더 이상 주문을 받지 않습니다.")
break