LoslegenKostenlos loslegen

Fehlerbehandlung mit try-except

Wenn du deine eigenen Funktionen schreibst, ist es eine gute Praxis, auch die Art und Weise vorwegzunehmen, wie andere Leute (oder du selbst, wenn du deine eigene Funktion versehentlich falsch benutzt) die von dir definierte Funktion verwenden könnten.

Wie in der vorigen Übung hast du gesehen, dass die Funktion len() mit Eingabeargumenten wie Strings, Listen und Tupeln umgehen kann, aber nicht mit solchen vom Typ int und eine entsprechende Fehlermeldung ausgibt, wenn sie auf ungültige Eingabeargumente trifft. Eine Möglichkeit, dies zu tun, ist die Ausnahmebehandlung mit dem try-except-Block.

In dieser Übung definierst du eine Funktion und verwendest einen try-except-Block, um Fälle zu behandeln, in denen falsche Eingabeargumente an die Funktion übergeben werden.

Erinnere dich an die Funktion shout_echo(), die du in den vorherigen Übungen definiert hast; Teile der Funktionsdefinition sind im Beispielcode enthalten. Dein Ziel ist es, den Code zur Behandlung von Ausnahmen in der Funktionsdefinition zu vervollständigen und eine entsprechende Fehlermeldung auszugeben, wenn ein Fehler auftritt.

Diese Übung ist Teil des Kurses

Einführung in Funktionen in Python

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere die Variablen echo_word und shout_words auf leere Strings.
  • Füge die Schlüsselwörter try und except an den entsprechenden Stellen für den Ausnahmebehandlungsblock hinzu.
  • Benutze den *-Operator, um echo Kopien von word1 zu verketten. Weise das Ergebnis echo_word zu.
  • Verkette den String '!!!' mit echo_word. Weise das Ergebnis shout_words zu.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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")
Code bearbeiten und ausführen