Très urgent gestion erreur

bigboy2g15 Messages postés 66 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 3 juin 2004 - 2 juin 2004 à 17:34
bigboy2g15 Messages postés 66 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 3 juin 2004 - 3 juin 2004 à 08:20
Bonjour,
Voila, je voudrai résoudre le seul et dernier bug ( connu ) de mon projet de stage ( qui se fini vendredi )

Je voudrai savoir s'il y a un moyen de blinder tout le programme avec un seul "on error go to prb" et "prob: ..."

Mon programme commence par une fenêtre mdi, on ma di de mettre un sub main qui lance cette fenêtre et d'encadrer ce lancement dans la gestion des erreurs. J'ai fai comme ca :

Sub main()

On Error GoTo prob_general

Load Menu
Exit Sub

prob_general:
Call MsgBox("Problème : '" & adr_fic & vbLf & "'  N° erreur:" & Err.Number & vbLf & Err.Description)
End Sub


Mais ca ne marche pas, les erreur des autres fenêtres ( mdi child ) ouverte par la fenetre mdi font planter toute l'application sans passer par prob_general

Je voudrai savoir si cette solution est bonne mais mon code est faut, ou s'il existe une autre solution. Il existe certe la facon d'inserer le on error au début de chaque module, mais j'en ai beacoup, donc si je pouvais éviter ...

Merci a tous d'avance, j'ai vraiment besoin de ce coup de main .

5 réponses

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
2 juin 2004 à 19:35
Bon, alors, je ne connais pas de moyen direct de faire ça, mais voici une façon détournée d'arriver au même résultat :
tu crée un timer. Son intervl est de 1ms.
Voici le code de ce timer :

If err.number <> 0 then
        '// la tu place le code de gestion de l'erreur
end if


Et voilà. je n'ai pas testé, mais si ça marche pas préviens moi.

Scalpweb www.PiceWCorp.net à partir du 1 Juillet 2004 ! venez nombreux pour programmer gratuit !
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
2 juin 2004 à 19:43
Il faut mettre un on error dans toutes les methodes succeptibles de leves des erreurs

Ta solution ne fonctionnera jamais

Car le label prob_general: doit etre specifique a ta frm

Peut etre une solution a tester j'ai pas VB sous la main

le gosub --> qui est la publique a toute l'appli si tu declare la procedure publique

--> peut etre que si tu rempalce tous les goto par gosub ca passe

la sub sera donc generale et les appel error dans chaquemethode

ta methode ne capture que les erreurs de ta feuille MDI mere selon moi

esperant t'avoir eclairer
0
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
2 juin 2004 à 19:46
Je pense que bigboy_machintruc cherche plutot une solution autre que de placer un On Error sur toutes ses procédures !

Scalpweb www.PiceWCorp.net à partir du 1 Mai 2004 ! venez nombreux pour programmer gratuit !
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
2 juin 2004 à 20:38
Salut, une autre soluce que je mets parfois en place :

Il est vrai que tu dois mettre un on error goto prob dans toutes tes procédures.
L'astuce est que tu peux créer une fonction du style "public function trt_erreurs(...........) as ......" et qui est appelée en dessous ton étiquette prob:, tu lui passe le numéro d'erreur et/ou autre et après, tu gères le retour de cette fonction.
Ca a au moins un avantage, c de regrouper en un seul endroit du prog le traitement des erreurs.

Cordialement

CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bigboy2g15 Messages postés 66 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 3 juin 2004
3 juin 2004 à 08:20
Merci de pour toute vos réponse, mais comme dit Scalpweb, la solution que je cherchais était de n e pas metre un on error goto à chaque procédure. Solution qui aparament n'existe pas.

Bon je vais faire un pti progr qui inscrit une chaine de caractère au début et avant la fin de chaque sub. Vu que les frm sont des fichiers text, ca ne devrait pas être trop dur.

Merci encore.
0