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 130
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
Rejoignez-nous