Zacznij terazZacznij za darmo

Obsługa błędów z try-except

Dobrą praktyką przy pisaniu własnych funkcji jest przewidywanie, w jaki sposób inni (albo ty sam, jeśli przypadkowo źle użyjesz własnej funkcji) mogą z niej korzystać.

Podobnie jak w poprzednim ćwiczeniu, przekonałeś się, że funkcja len() potrafi obsługiwać argumenty takie jak ciągi znaków, listy i krotki, ale nie liczby całkowite – w takim przypadku zgłasza odpowiedni błąd wraz z komunikatem. Jednym ze sposobów realizacji tego mechanizmu jest obsługa wyjątków za pomocą bloku try-except.

W tym ćwiczeniu zdefiniujesz funkcję i użyjesz bloku try-except do obsługi sytuacji, w których do funkcji zostaną przekazane nieprawidłowe argumenty.

Przypomnij sobie funkcję shout_echo() zdefiniowaną w poprzednich ćwiczeniach – jej częściowa definicja znajduje się już w przykładowym kodzie. Twoim zadaniem jest uzupełnienie kodu obsługi wyjątków w definicji funkcji oraz podanie odpowiedniego komunikatu błędu przy jego zgłaszaniu.

To ćwiczenie jest częścią kursu

Wprowadzenie do funkcji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj zmienne echo_word i shout_words jako puste ciągi znaków.
  • Dodaj słowa kluczowe try i except we właściwych miejscach bloku obsługi wyjątków.
  • Użyj operatora *, aby połączyć echo kopii word1. Przypisz wynik do echo_word.
  • Połącz ciąg znaków '!!!' z echo_word. Przypisz wynik do shout_words.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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")
Edytuj i uruchom kod