시작하기무료로 시작하기

try-except로 오류 처리하기

함수를 직접 작성할 때는, 다른 사람이(또는 본인이 실수로) 정의한 함수를 어떻게 사용할 수 있을지 미리 예상하는 것이 좋은 습관이에요.

이전 연습 문제에서 보았듯이, len() 함수는 문자열, 리스트, 튜플 같은 입력 인수는 처리할 수 있지만 int 타입은 처리하지 못하고, 잘못된 입력을 만나면 적절한 오류와 오류 메시지를 발생시켜요. 이를 구현하는 한 가지 방법이 try-except 블록을 사용하는 예외 처리입니다.

이번 연습 문제에서는 함수를 정의하고, 함수에 잘못된 입력 인수가 전달될 때 이를 처리하기 위해 try-except 블록을 사용할 거예요.

이전에 정의했던 shout_echo() 함수를 떠올려 보세요. 함수 정의의 일부가 샘플 코드에 제공되어 있어요. 목표는 함수 정의에 예외 처리 코드를 완성하고, 오류를 발생시킬 때 알맞은 오류 메시지를 제공하는 것입니다.

이 연습은 강의의 일부입니다

Python 함수 입문

강의 보기

연습 안내

  • 변수 echo_wordshout_words를 빈 문자열로 초기화하세요.
  • 예외 처리 블록의 알맞은 위치에 키워드 tryexcept를 추가하세요.
  • * 연산자를 사용해 word1echo 복사본을 이어 붙이세요. 결과를 echo_word에 할당하세요.
  • 문자열 '!!!'echo_word에 이어 붙이세요. 결과를 shout_words에 할당하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define shout_echo
def shout_echo(word1, echo=1):
    """Concatenate echo copies of word1 and three
    exclamation marks at the end of the string."""

    # Initialize empty strings: echo_word, shout_words
    
    

    # Add exception handling with try-except
    ____:
        # Concatenate echo copies of word1 using *: echo_word
        echo_word = ____

        # Concatenate '!!!' to echo_word: shout_words
        shout_words = ____
    ____:
        # Print error message
        print("word1 must be a string and echo must be an integer.")

    # Return shout_words
    return shout_words

# Call shout_echo
shout_echo("particle", echo="accelerator")
코드 편집 및 실행