Gestion d'erreur

Résolu
cs_M51
Messages postés
63
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
10 août 2007
- 18 juil. 2006 à 12:59
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
- 20 juil. 2006 à 08:15
Bonjour,
Je souhaite implémenter une gestion d'erreur dans mon programme. Mon programme étant utilisé par d'autres personnes, je souhaiterais mettre un mouchard qui sauvegarde les erreurs rencontrés dans un fichier txt.
Voici un petit bout de code qui génére une erreur, appel une étiquette qui sauvera des infos dans un fichier txt (procédure Erreur non présentée).

Private Sub Programme-Principale()
Dim data As String

On Error GoTo fin
Err.Clear
Err.Raise 6
Exit Sub

fin:
data = Me.Name & " Erreur: " & Err.Number & " description: " & Err.Description
Call Erreur(data)
Resume Next
End Sub

Question:
Comment récupérer le nom de la procédure, module actuellement en cours (afin de localiser la zone ou se situe le problème (ici Programme-principale) ? Récupérer la pile des procédures en cours avant l'erreur ?
Il va falloir ajouter un "On Error GoTo fin" puis l'étiquette fin: ... dans toutes les procédures ou je souhaite surveiller les erreurs, non ?
Avez vous d'autres idées ?

Merci d'avance.

6 réponses

cs_M51
Messages postés
63
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
10 août 2007

19 juil. 2006 à 16:31
Merci (avec un peu de retard car j'ai mis un peu de temps à tout analyser)

Darksidiou: Je ne connaissais pas MZtools, après quelques tests il me semble très utile dans la programmation et j'ai pu ajouter des gestions d'erreur facilement.

Bouv: En fait le code principale de gestion d'erreur correspond à ce que je pensais faire mais heureusement qu'il existe des softs pour implémenter du code tout seul. Je n'ai pas réussi à faire marcher la version de windows (j'ai bien récupérer le code, mais il a fallu le retoucher pour être exploitable partiellement), ce n'est pas grave j'ai l'essentiel et j'étudie cela avec intérêt.

Merci encore de vos infos.
3
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
4 mars 2013
131
18 juil. 2006 à 13:49
Bah ouais, je vois pas trop comment faire autrement.

Note : télécharge le plugin gratuit MZTools qui permet de rajouter très rapidement une gestion d'erreur à une procédure en un simple click !
0
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
18 juil. 2006 à 13:52
Salut,

jette un oeil sur ma source, je pense qu'elle pourra t'aider.
http://www.vbfrance.com/codes/GESTION-ERREUR-AVANCEE_36073.aspx

J'ai fourni avec un logiciel permettant de mettre à jour ton projet d'un simple clic. Penses quand même à faire une sauvegarde avant

Avec cela, dans chaques feuilles, modules, controls utilisateur, classe, il écrira un code de gestion d'erreur.
Cela te permettra de savoir pour chaque erreur :
- Le type d'erreur
- Le nom du module
- Le nom de la procédure ou de la fonction
- Et même la ligne où s'est produite l'erreur.

Le tout stocké dans un fichier texte.

PS : La feuille de gestion des erreurs n'est pas vraiment "jolie", mais tu pourra l'adapter facilement à ton gout.

Bonne prog
++
0
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
19 juil. 2006 à 16:39
Oueps, MZTools est effectivement pas mal.

Mais sinon, dis moi ce que tu n'as pas réussi à faire fonctionner mon code.
As tu vu qu'il y avais un projet qui peut implémenter le code de gestion d'erreur automatiquement dans tes sources ?

Bonne prog ++
0

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

Posez votre question
cs_M51
Messages postés
63
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
10 août 2007

19 juil. 2006 à 17:43
J'ai vu le code pour implémenter automatiquement. Pas de problème
C'est plus le résultat, cela rajoute un module modWindowsVersion que j'ai complété avec le code suivant ton lien. Mais à première vue il faut le retoucher un peu (du genre mettre certaines données en publique, ..) bref j'ai pas réussi à avoir facilement la version de windows.
Mais cela n'a pas d'importance, ce qui m'intéressait c'est le principe et je l'ai. Donc merci pour ton code, je vais juste tirer des idées et l'implémenter avec MZTools, car un peu plus pratique en live ;)
0
bouv
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
20 juil. 2006 à 08:15
Ok, j'ai compris, j'avais un peu oublié cette source, mais il est vrai que j'aurai pu remplacer le module qui récupère la version de Windows par un code perso.

Enfin, si tu as eu ta réponse, c'est ce qui compte.

Bonne prog ++
0