Bonjour,
Je voudrais gérer les exceptions de mon application, mais je me bute à un problème, je ne sais pas comment faire pour l'afficher soit dans la fenêtre principale, soit dans une autre fenêtre.
Merci d'avance pour votre aide ;o)
Bonjour,
Je voudrais gérer les exceptions de mon application, mais je me bute à un problème, je ne sais pas comment faire pour l'afficher soit dans la fenêtre principale, soit dans une autre fenêtre.
Merci d'avance pour votre aide ;o)
Bonsoir,
Plus d'explications ?
Sinon un exemple (non fonctionnel)
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 def Affiche_Exception(self, MonErreur): self.mafenetre=Toplevel() self.mafenetre.title('Erreur') self.Label(self.mafenetre, text=MonErreur) while True: try: x = int(raw_input("Entrez un nombre: ")) break except ValueError: self.Affiche_Exception(ValueError)
Voilà,je réponds à ta question PauseKawa
J'ai une fenêtre avec quatre champs à remplir, ces quatre champs sont obligatoires pour que ma fonction "Calcul" marche !
Donc ce que je voudrais, c'est qu'il y ait une exception qui se lève si un des champs n'est pas rempli, ou mal rempli (caractères au lieu d'int ou float).
Mais que cette exception affiche un message dans une nouvelle fenêtre (Message Box ????)
Merci
@++
Bonjour,
Je présume que tu utilise un bouton pour valider.
Dans ce cas il te suffit de vérifier tes champs dans la procédure (command=) et soit de valider soit d'utiliser un messageBox comme tu le dit ou un Toplevel si tu souhaite faire plus personnalisé.
Edit : Sinon il est aussi possible de tracer tes variables, regarde du coté de StringVar, Intvar et autre textvariable.
Re bonjour,
Quelque chose qui risque de t'intéresser
Salut PauseKawa,
Je viens de jeter un coup d'oeil sur les adresses que tu m'as donné, je crois avoir compris, mais je n'arrive pas à l'appliquer sur mon code (je ne maitrise pas encore très bien Python, pour être modéré ;o))
Je te fourni mon code en PJ si tu veux jeter un coup d'oeil, ne fais pas attention à la formule de calcul, pour l'instant elle n'a rien à voir avec la réalité, c'était juste pour tester.
Je te remercie d'avance
Bonjour,
Donc pour ce qui est des champs vides regarde dans calcul a faire des tests style
Sinon pour ce qui est de la saisie la validation expliquée par tyrtamos me semble une bonne chose : regarde dans le sujet tu y trouve un lien vers son tuto.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 def calcul(): a=ent1.get() b=ent2.get() c=ent3.get() d=ent4.get() if not a: Affiche_Exception('car a est null') elif not b: Affiche_Exception('car b est null') elif not c: Affiche_Exception('car c est null') elif not d: Affiche_Exception('car d est null') else: try: e=float(a)*float(b)/float(c)+float(d) lbl6.configure(text = e) except: Affiche_Exception('Erreur de calcul') def Affiche_Exception(MonErreur): mafenetre=Toplevel() mafenetre.title('Erreur') Label(mafenetre, fg='red', text='OPERATION IMPOSSIBLE').pack() Label(mafenetre, text=MonErreur).pack() Button(mafenetre, text='Quitter', command=mafenetre.quit).pack()
@+
Merci PauseKawa,
Ca marche, et surtout je vois et comprends mieux comment faire.
J'ai mis en pratique le tuto de Tyrtamos aussi pour gérer le contenu des champs
A très bientôt
Partager