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 fenêtres représentant chacune une

grandeur physique différente (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 résultat apparait dans un autre wxStaticText.

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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#... début du programme, construction d'1 fenêtre principale...
    def fen1():
        #Code permettant de créer fen1 et d'y inclure les widgets
        def operation():
            #Code pour la conversion
    def fen2():
        #Code permettant de créer fen2 et d'y inclure les widgets
        def operation():
            #Code pour la conversion
    def fen3():
        #Code permettant de créer fen3 et d'y inclure les widgets
        def operation():
            #Code pour la conversion
Avec mon code et mes opérations purement numérique, 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 même le calcul.

J'utilise donc la méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
try:
    #Code...
except:
    #Code...
Le problème c'est que là tout de suite je n'ai pas trouvé d'autres moyens que de faire comme cela:

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
27
28
29
30
#... début du programme, construction d'1 fenêtre principale...
    def fen1():
        #Code permettant de créer fen1 et d'y inclure les widgets
        def operation():
            try:
                #Code pour la conversion
            except:
                avertissement()
        def avertissement():
            #Création boite de dialogue pour avertissement
 
    def fen2():
        #Code permettant de créer fen2 et d'y inclure les widgets
        def operation():
            try:
                #Code pour la conversion
            except:
                avertissement()
        def avertissement():
            #Création boite de dialogue pour avertissement
 
    def fen3():
        #Code permettant de créer fen3 et d'y inclure les widgets
        def operation():
            try:
                #Code pour la conversion
            except:
                avertissement()
        def avertissement():
            #Création boite de dialogue pour avertissement
Afin de gagner un peu en ligne de code, j'aimerai pouvoir créer et appeler de façon "global" avertissement(), afin d'éviter à chaque fois de le retaper, j'avoue ne pas trop savoir comment faire.
Je suis sûr 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