ÎncepețiÎncepe gratuit

Gestionarea erorilor cu try-except

O bună practică atunci când îți scrii propriile funcții este să anticipezi și modalitățile în care alți utilizatori (sau chiar tu, dacă folosești accidental greșit funcția proprie) ar putea apela funcția pe care ai definit-o.

Ca în exercițiul anterior, ai văzut că funcția len() poate gestiona argumente de tip șir de caractere, liste și tupluri, dar nu și argumente de tip int — și că generează o eroare și un mesaj de eroare corespunzătoare atunci când primește argumente invalide. O modalitate de a face acest lucru este prin gestionarea excepțiilor cu blocul try-except.

În acest exercițiu, vei defini o funcție și vei folosi un bloc try-except pentru a gestiona situațiile în care funcției i se transmit argumente incorecte.

Amintește-ți funcția shout_echo() pe care ai definit-o în exercițiile anterioare; părți din definiția funcției sunt furnizate în codul exemplu. Obiectivul tău este să completezi codul de gestionare a excepțiilor din definiția funcției și să furnizezi un mesaj de eroare adecvat atunci când este generată o eroare.

Acest exercițiu face parte din cursul

Introducere în funcții în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează variabilele echo_word și shout_words cu șiruri de caractere goale.
  • Adaugă cuvintele cheie try și except în locurile potrivite din blocul de gestionare a excepțiilor.
  • Folosește operatorul * pentru a concatena echo copii ale lui word1. Atribuie rezultatul variabilei echo_word.
  • Concatenează șirul de caractere '!!!' la echo_word. Atribuie rezultatul variabilei shout_words.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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")
Editează și rulează codul