더북(TheBook)
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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.