Aan de slagGa gratis aan de slag

Foutafhandeling met try-except

Een goede gewoonte bij het schrijven van je eigen functies is om al vooruit te denken over de manieren waarop anderen (of jijzelf, als je je eigen functie per ongeluk verkeerd gebruikt) de functie zouden kunnen gebruiken.

Zoals je in de vorige oefening zag, kan de functie len() invoerargumenten zoals strings, lijsten en tuples verwerken, maar geen int-typen; bij ongeldige invoer genereert ze een passende fout en foutmelding. Een manier om dit te doen is via exceptieafhandeling met een try-except-blok.

In deze oefening definieer je een functie en gebruik je een try-except-blok om gevallen af te handelen waarin onjuiste invoerargumenten aan de functie worden doorgegeven.

Denk terug aan de functie shout_echo() die je in eerdere oefeningen hebt gedefinieerd; delen van de functiedefinitie zijn meegegeven in de voorbeeldcode. Jouw doel is om de code voor exceptieafhandeling in de functiedefinitie aan te vullen en een passende foutmelding te geven wanneer je een fout opgewerkt.

Deze oefening maakt deel uit van de cursus

Introductie tot functies in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer de variabelen echo_word en shout_words als lege strings.
  • Voeg de sleutelwoorden try en except toe op de juiste plekken in het blok voor exceptieafhandeling.
  • Gebruik de operator * om echo kopieën van word1 te concatenëren. Ken het resultaat toe aan echo_word.
  • Concateneer de string '!!!' met echo_word. Ken het resultaat toe aan shout_words.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren