fonction pour gerer les erreurs d'exception

fonction pour gerer les erreurs d'exception - Python - Programmation

Marsh Posté le 16-08-2018 à 00:26:27    

bonsoir;
J'ai crée une application à l'aide de " TKINTER " qui marche actuelle bien selon mes faibles connaissances puisque je suis débutant avec le langage PYTHON (version 3.5) sous Windows 10 64 bits.
Voici l'échantillon  du code de l'application qui  concerne les erreurs d'exception et qui me m’empêche à finaliser la version 1 de cette application que je souhaiterais la développer encore mieux au futur proche.
 

Code :
  1. def message_erreur():
  2.     if ent_labo_loc.get()==StringVar:
  3.         lb_loc_exception['text']='Erreur, veuillez introduire seulement des chiffres'
  4.         ent_labo_loc.set("" )
  5.     else:
  6.         lb_loc_exception['text']=''
  7.    
  8. def afficher_resultat_loc():
  9.     try :             
  10.         calcul=20*log10(float(ent_labo_loc.get())/float(entree_ref_loc.get()))
  11.         calcul=round(calcul,3)
  12.         ent_correction_loc.set(calcul)
  13.         ent_labo_loc.set("" )
  14.     except :               
  15.         message_erreur()
  16.     finally :
  17.         pass


 
la fonction " afficher_resultat_loc() "  est attache au bouton de validation du calcul mathématique., dont voici le code :  
 

Code :
  1. #======= bouton de validation de la correction =====
  2. bt_loc_validation=Button(loc,
  3.                      text='Valider',
  4.                      bd=14,           
  5.                      relief=RIDGE,
  6.                      font=('arial',16,'bold'),
  7.                      justify='left',
  8.                      command=afficher_resultat_loc)
  9. bt_loc_validation.place(x=420,y=460)


 
 
finalement j'ai crée un texte qui doit s'afficher chaque fois qu'on introduit des caractères au lieu des chiffres par un label dont voici le code :
 

Code :
  1. #affichage d'un message en cas d'erreur exception
  2. lb_loc_exception=Label(loc,text='',
  3.                    fg='red',
  4.                    font=('arial',18,'bold'),
  5.                    justify='left',
  6.                    bg='cadet blue'
  7.                    )
  8. lb_loc_exception.place(x=30,y=420)


 
le texte qui va être intégré dans ce label n'apparait que lorsque utilisateur écrit des caractères et doit   impérativement s'effacer quand l'utilise après introduit un nombre décimal
Voici l'apparence d'une image de l'application
https://nsa39.casimages.com/img/2018/08/16/180816082220535645.jpg
 
j’espère que j'ai bien détaillé mon problème
 
Merci pour l'aide


Message édité par atlass218218 le 16-08-2018 à 12:57:16
Reply

Marsh Posté le 16-08-2018 à 00:26:27   

Reply

Marsh Posté le 16-08-2018 à 08:21:12    

Un objet Entry sera forcément associé à une variable StringVar (paramètre textvariable), du coup pas besoin de tester si c'est le cas.

Reply

Marsh Posté le 18-08-2018 à 12:13:28    

bonjour;
le widget Entry dans mon cas est utilise pour qu'on puisse y introduire des nombres et non pas une chaine de caractère sinon on aura une erreur affiche par python et bloque la continuité du programme. C'est pour cela que j'ai fait une exception par try
https://nsa39.casimages.com/img/2018/08/18/180818124025745940.jpg
merci pour l'aide


Message édité par atlass218218 le 18-08-2018 à 12:29:50
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed