Začněte nyníZačněte zdarma

Ošetření chyb pomocí try-except

Dobrý zvyk při psaní vlastních funkcí je také předvídat, jak by je mohli používat ostatní (nebo ty sám/sama, pokud funkci omylem použiješ nesprávně).

V předchozím cvičení jsi viděl/a, že funkce len() dokáže pracovat se vstupními argumenty jako jsou řetězce, seznamy a n-tice, ale ne s argumenty typu int — a v takovém případě vyvolá odpovídající chybu i chybovou zprávu. Jedním ze způsobů, jak toho dosáhnout, je ošetření výjimek pomocí bloku try-except.

V tomto cvičení si nadefinuješ funkci a použiješ blok try-except k ošetření případů, kdy jsou funkci předány nesprávné vstupní argumenty.

Vzpomeň si na funkci shout_echo(), kterou jsi definoval/a v předchozích cvičeních — části její definice jsou už připraveny v ukázkovém kódu. Tvým cílem je doplnit kód pro ošetření výjimek v definici funkce a poskytnout vhodnou chybovou zprávu při vyvolání chyby.

Toto cvičení je součástí kurzu

Úvod do funkcí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Inicializuj proměnné echo_word a shout_words jako prázdné řetězce.
  • Doplň klíčová slova try a except na správná místa v bloku pro ošetření výjimek.
  • Pomocí operátoru * zřetěz echo kopií řetězce word1. Výsledek přiřaď do proměnné echo_word.
  • K proměnné echo_word připoj řetězec '!!!'. Výsledek přiřaď do proměnné shout_words.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
Upravit a spustit kód