# Autres langages > Python > GUI >  Problme pour grer des exceptions

## Jiyuu

Bonjour  tous,

Je cherche une petite astuce pour essayer de limiter la gestion des exceptions 

dans mon programme.

Le programme en question permet de convertir des grandeurs physiques.
L'utilisateur a le choix entre plusieurs fentres reprsentant chacune une 

grandeur physique diffrente (longueur, hauteur, poids...)
Pour chacune des grandeurs, on choisi via un wxComboBox le type de 

conversion (m en mm, kg en tonne...) et on rentre la valeur  convertir dans un 

wxStaticText. Le rsultat apparait dans un autre wxStaticText.

Voici un petit exemple du programme qui permet de faire ceci:



```

```

Avec mon code et mes oprations purement numrique, la seule erreur possible 

est de rentrer une valeur de type string au lieu de float ou encore rien du tout 

et de demander tout de mme le calcul.

J'utilise donc la mthode:


```

```

Le problme c'est que l tout de suite je n'ai pas trouv d'autres moyens que de faire comme cela:



```

```

Afin de gagner un peu en ligne de code, j'aimerai pouvoir crer et appeler de faon "global" avertissement(), afin d'viter  chaque fois de le retaper, j'avoue ne pas trop savoir comment faire.
Je suis sr que c'est super simple mais l je patoge grave, donc un petit coups de pouce serait le bienvenu.

D'avance merci  tous pour vos conseils

----------


## Guigui_

Pourquoi tu ne crs par la fonction avertissement au mme niveau que fen1, fen2 et fen3. Tu pourra alors directement les appeler dedans. 

Pourquoi aussi, tu ne ferais pas pareil avec opration qui en fonction de paramtres ferait tel ou tel calcul. En tout cas, cela me semblerait plus lisible (bon, j'ai jamais t trs fan des dclarations de fonction dans des fonctions).

Sinon, au niveau de ta signature, pour le tuto de Swinnen, il est disponible maintenant en ligne ( http://python.developpez.com/cours/TutoSwinnen/ )  :;):

----------


## pacificator

Salut,




> on rentre la valeur  convertir dans un 
> wxStaticText


Un textCtrl, non?

Si je comprends bien ton problme, tu dois valider des valeurs de l'utilisateur avant de lancer tes calculs; dans ce cas, regarde du ct des validator.

Si tu veux transfrer un avertissement au travers ton interface graphique, utilise les wxEvent.

J'espere que a pourra t'aider sans trop complexifier ton code.

----------


## Jiyuu

> Pourquoi tu ne crs par la fonction avertissement au mme niveau que fen1, fen2 et fen3. Tu pourra alors directement les appeler dedans.


C'est ce que je voulais faire, mais sans succs.




> Pourquoi aussi, tu ne ferais pas pareil avec opration qui en fonction de paramtres ferait tel ou tel calcul. En tout cas, cela me semblerait plus lisible (bon, j'ai jamais t trs fan des dclarations de fonction dans des fonctions).


Trs bonne ide.




> Sinon, au niveau de ta signature, pour le tuto de Swinnen, il est disponible maintenant en ligne ( http://python.developpez.com/cours/TutoSwinnen/ )


C'est fait. ::D: 





> Un textCtrl, non?


Oui effectivement, dsol pour l'erreur.



```
Si je comprends bien ton problème, tu dois valider des valeurs de l'utilisateur avant de lancer tes calculs; dans ce cas, regarde du côté des validator.
```

Je ne connaissais pas. J'y jetterai un coups d'oeil.




> Si tu veux transfrer un avertissement au travers ton interface graphique, utilise les wxEvent.


Si tu parles de la dclaration des fonctions de la forme


```
def mafonction(evt):
```

c'est ce que j'ai fait.

Merci pour vos conseils.
Je vais voir si je peux me dbrouiller comme a.

----------

