Résolue

Gérer les erreurs en entrée d'une fonction

# Gestion des erreurs

Bonjour,

Merci pour votre retour! J'ai un petit souci tout de même sur ce code, je n'ai pas réussi à faire en sorte de gérer l'erreur si un utilisateur rentre ajouter(pomme) au lieu de ajouter ("pomme") par exemple. Y a-t-il un moyen d'afficher un message type "cette entrée n'est pas valide" à la place de l'erreur dans ce cas là?

Merci et bonne journée,

Simon

Bonjour Simon

tu pourrait par exemple ajouter un
if not isinstance(variable_input, str):
print("Ce n'est pas une entrée valide")
continue

Bonne soirée!

Bonjour Stéphane,

C'est à peu près ce que j'avais fait dans mon code,sauf que j'avais remplacé le print par un raise.
J'ai essayé de faire ce que tu m'as dit, voici ma fonction ajouter :

def ajouter(self, element):
        if not isinstance(element,str):
            print("l'element rentré doit être une chaine de caractère")
        elif element in self.ma_liste:
            print(f"{element} est déjà dans la liste")
        else : 
            self.ma_liste.append(element)
            return True

Cependant, j'ai toujours ce problème qui s'affiche lorsque je rentre un mot sans guillemets, et non la phrase que j'essaye d'afficher :

Merci pour ton aide,

Simon

Bonsoir Simon.

Je comprend mieux ton problème vient du fait que lorsque tu tente un ajout avec la fonction en ligne de commande en donnant pomme, plutôt que "pomme" tu as erreur.

C'est tout à fait normal. Lorsque tu utilise directement la ligne de commande, c'est comme lorsque tu écrit ton script si bien que pomme, correpond pour pyton à une variable ou un objet, il va donc chercher dans les valeurs et objet en mémoire si quelquechose correspond et dans la cas contraire il te renvoie une NameError qui correspond au fait d'appeller une variable, un objet ou une fonction qui n'a pas été préalablement déclarée!

Voilà, si tu as d'autres questions n'hésites pas!

Bonne soirée.

Bonsoir stéphane,
Merci pour ta réponse, je peux laisser cet exercice derrière moi alors!
Bonne soirée,
Simon

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.