Kom igångKom igång gratis

Felhantering med try-except

En god vana när du skriver egna funktioner är att också förutse hur andra – eller du själv, om du råkar använda din funktion fel – kan tänkas anropa den.

Som du såg i föregående övning kan funktionen len() hantera indataargument som strängar, listor och tupler, men inte heltal. Den kastar då ett lämpligt fel med ett beskrivande felmeddelande. Ett sätt att åstadkomma detta är via felhantering med ett try-except-block.

I den här övningen definierar du en funktion och använder ett try-except-block för att hantera fall då felaktiga indataargument skickas till funktionen.

Kom ihåg funktionen shout_echo() som du definierade i tidigare övningar – delar av funktionsdefinitionen finns redan i exempelkoden. Din uppgift är att färdigställa felhanteringskoden i funktionsdefinitionen och ange ett lämpligt felmeddelande när ett fel kastas.

Den här övningen är en del av kursen

Introduktion till funktioner i Python

Visa kurs

Övningsinstruktioner

  • Initiera variablerna echo_word och shout_words till tomma strängar.
  • Lägg till nyckelorden try och except på rätt platser i felhanteringsblocket.
  • Använd operatorn * för att konkatenera echo kopior av word1. Tilldela resultatet till echo_word.
  • Konkatenera strängen '!!!' till echo_word. Tilldela resultatet till shout_words.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod