Désactiver les messages d'erreur interpréteur
Résolu/Fermé
MemeTech
Messages postés
90
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
7 janvier 2021
-
16 août 2019 à 19:24
MemeTech Messages postés 90 Date d'inscription mercredi 14 août 2019 Statut Membre Dernière intervention 7 janvier 2021 - 17 août 2019 à 22:58
MemeTech Messages postés 90 Date d'inscription mercredi 14 août 2019 Statut Membre Dernière intervention 7 janvier 2021 - 17 août 2019 à 22:58
A voir également:
- Désactiver les messages d'erreur interpréteur
- Erreur 0x80070643 - Accueil - Windows
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Desactiver instagram - Guide
- Desactiver windows defender - Guide
4 réponses
Bonjour, un seul mot : Exception
Donc à toi de gérer correctement via tes fonctions les arguments reçus en attrapant les erreurs avec des exceptions.
Donc à toi de gérer correctement via tes fonctions les arguments reçus en attrapant les erreurs avec des exceptions.
MemeTech
Messages postés
90
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
7 janvier 2021
1
Modifié le 17 août 2019 à 22:48
Modifié le 17 août 2019 à 22:48
Justement : c'est l'interpréteur Python qui gère les exceptions avec les variables comme dans mon exemple, comment puis-je gérer à sa place ce type d'exception ?
En recherchant, j'ai bien trouvé quelque chose qui puisse fonctioner, la fonction exec (), mais elle n'est pas adaptée à mon programme, car bon nombre de mes fonctions renvoient une valeur et exec () ne renvoie pas de valeur...
C'est bien dommage, car j'aurais pu ainsi gérer ces exceptions avec quelque chose de ce style :
Peut-être qu'une autre fonction pourrait convenir ?
Merci !
[EDIT] : Je crois avoir trouvé un truc interessant du côté de la fonction eval () !
J'ai utilisé le même code que ci-dessus en remplaçant exec () par eval () et ça a l'air de fonctionner pour le moment !
Dites-moi si cela fait trop bricolage voire est dangereux !
En recherchant, j'ai bien trouvé quelque chose qui puisse fonctioner, la fonction exec (), mais elle n'est pas adaptée à mon programme, car bon nombre de mes fonctions renvoient une valeur et exec () ne renvoie pas de valeur...
C'est bien dommage, car j'aurais pu ainsi gérer ces exceptions avec quelque chose de ce style :
# Les fonctions de mon programme... while True: # Boucle principale cmd = input (">>> ") result = 0 # On initialise result try: result = exec (cmd) except NameError: # Réagir à cette exception # Gestion de toutes les autres exceptions de la même façon... if result is not None: # Car toutes les fonctions ne renvoient pas de résultat, il faut vérifier que exec () renvoie bien quelque chose print (result) # Et on continue à l'infini tant que l'utilisateur n'entre pas exit () ou quit ()
Peut-être qu'une autre fonction pourrait convenir ?
Merci !
[EDIT] : Je crois avoir trouvé un truc interessant du côté de la fonction eval () !
J'ai utilisé le même code que ci-dessus en remplaçant exec () par eval () et ça a l'air de fonctionner pour le moment !
Dites-moi si cela fait trop bricolage voire est dangereux !
yg_be
Messages postés
23401
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 décembre 2024
Ambassadeur
1 557
Modifié le 17 août 2019 à 22:48
Modifié le 17 août 2019 à 22:48
bonjour, que fait ton script et que fait l'utilisateur? peux-tu donner un exemple?
si tu laisses l'utilisateur rentrer un programme python, je ne vois pas comment tu pourrais intervenir si son programme n'est pas correct.
si tu laisses l'utilisateur rentrer un programme python, je ne vois pas comment tu pourrais intervenir si son programme n'est pas correct.
MemeTech
Messages postés
90
Date d'inscription
mercredi 14 août 2019
Statut
Membre
Dernière intervention
7 janvier 2021
1
Modifié le 17 août 2019 à 23:03
Modifié le 17 août 2019 à 23:03
Dans mon programme, l'utilisateur peut utiliser des fonctions mathématiques de base, mais aussi certaines plus spécifiques telles que prime (x) qui indique si x est premier et bien d'autres encore.
Il peut égalemnt créer et gérer des objets comme des volumes, des vecteurs ou encore des polynômes.
Il fait tout comme s'il programmait, mais sans forcément le savoir.
Avancé ?
Au pire, vous pouvez toujours tester la dernière version stable en téléchargement sur mon site web, cela vous permettera de vous faire une meilleure idée en testant directement l'appli.
Bonne nuit !
[EDIT] : Je suis contraint de faire un mixte entre eval () et exec () : eval ne fonctionne pas pour créer les objets, je le fais donc avec exec (), tout le reste se fait avec eval ()
Il peut égalemnt créer et gérer des objets comme des volumes, des vecteurs ou encore des polynômes.
Il fait tout comme s'il programmait, mais sans forcément le savoir.
Avancé ?
Au pire, vous pouvez toujours tester la dernière version stable en téléchargement sur mon site web, cela vous permettera de vous faire une meilleure idée en testant directement l'appli.
Bonne nuit !
[EDIT] : Je suis contraint de faire un mixte entre eval () et exec () : eval ne fonctionne pas pour créer les objets, je le fais donc avec exec (), tout le reste se fait avec eval ()