RAG2026-5일31차시 · 예외 처리 설계17 / 19← 이전목차다음 →MetaContents

31차시. 예외 처리 설계

퀴즈 2 — 실패 이유별로 다른 안내 문장 고르기

못 찾음과 요청이 많음을 다른 안내로 나누세요.

빈칸 코드에서 시작합니다.

Python
def user_message(kind):
    pass
결과 보기 (예시 풀이)
Python
# 실패 이유(kind)에 따라 사용자에게 보여 줄 안내 문장을 고릅니다.
def user_message(kind):
    # 문서에 없는 경우: 질문 표현을 바꿔 보라고 안내합니다.
    if kind == "not_found":
        return "문서에서 찾지 못했습니다. 표현을 바꿔 보세요."
    # 호출 한도 초과: 질문은 그대로 두고 잠시 기다리라고 안내합니다.
    if kind == "rate_limit":
        return "요청이 많습니다. 잠시 후 다시 시도하세요."
    # 그 밖의 경우는 일반 안내로 처리합니다.
    return "처리할 수 없습니다."

# 세 가지 이유를 넣어 서로 다른 문장이 나오는지 확인합니다.
for kind in ["not_found", "rate_limit", "system_error"]:
    print(f"{kind:<12} -> {user_message(kind)}")

# 두 경우의 문장이 같으면 오답이므로 직접 비교해 봅니다.
print("두 안내가 다른가:", user_message("not_found") != user_message("rate_limit"))

실행 결과

출력
not_found    -> 문서에서 찾지 못했습니다. 표현을 바꿔 보세요.
rate_limit   -> 요청이 많습니다. 잠시 후 다시 시도하세요.
system_error -> 처리할 수 없습니다.
두 안내가 다른가: True

채점 기준: 두 경우가 같은 문장이면 오답이다.

관련 교안: 31차시 「4. 왜 안내 문구를 나누는가」

← 이전 절31차시 · 퀴즈 1 — 예외를 State로 바꾸는 안전 실행다음 절 →31차시 · 정리