CommencerCommencer gratuitement

Gestion des erreurs avec try-except

Une bonne pratique dans l’écriture de vos propres fonctions consiste également à anticiper les façons dont d’autres personnes (ou vous-même, si vous utilisez accidentellement mal votre propre fonction) pourraient utiliser la fonction que vous avez définie.

Comme dans l’exercice précédent, vous avez vu que la fonction len() est capable de traiter des arguments d’entrée tels que des chaînes de caractères, des listes et des tuples, mais pas ceux de type int, et elle lève une erreur correspondante et un message d’erreur si elle reçoit des arguments non valides en entrée. Pour y parvenir, on peut notamment gérer les exceptions à l’aide du bloc try-except.

Dans cet exercice, vous définirez une fonction et utiliserez un bloc try-except pour traiter les cas où des arguments d’entrée incorrects sont transmis à la fonction.

Rappelez-vous la fonction shout_echo() que vous avez définie dans les exercices précédents ; vous retrouverez des parties de la définition de la fonction dans l’exemple de code. Votre objectif est de compléter le code de gestion des exceptions dans la définition de la fonction et de fournir un message d’erreur approprié en cas d’erreur.

Cet exercice fait partie du cours

Introduction aux fonctions en Python

Afficher le cours

Instructions

  • Initialisez les variables echo_word et shout_words à des chaînes vides.
  • Ajoutez les mots-clés try et except aux endroits appropriés pour le bloc de gestion des exceptions.
  • Utilisez l’opérateur * pour concaténer les echo copies de word1. Affectez le résultat à echo_word.
  • Concaténez la chaîne '!!!' à echo_word. Affectez le résultat à shout_words.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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")
Modifier et exécuter le code