Gestion d'erreur

Résolu
magnus.maximus Messages postés 22 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 30 mars 2010 - 1 mars 2006 à 10:31
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 1 mars 2006 à 12:11
Bonjour,
je voudrais mettre au point un système qui inscrit dans un fichier texte les erreurs de mon programme. Pour inscrire j'utilise une Public Sub qui se nome Write_Log

Pour l'appeler j'utilise Write_Log "TEST", "Ceci est un test"
Ce qui inscrira dans dans un fichier La date et l'heure plus TEST et ceci est un test
Mon seul problème est comment appeler cette routine quand un erreur se produit. Un genre d'appelle comme on error ...
Que puis-je faire??
Merci
.....................................................................................................................................
Public sub pour l'inscription:

Public Sub Write_Log(Groupe As String, Descr As String)
' routine d'écriture dans un fichier en append
' --------------------------------------------
' Groupe est le nom d'un groupe de fichier
' Descr est le texte que tu veux écrire


Dim ff As Integer
Dim LOG_FILE As String
On Error Resume Next '
MkDir "c:\log" ' on crée le répertoire : s'il existe pas de problème
On Error GoTo 0 '
LOG_FILE = "c:\log" & Groupe & "_" & Format(Date, "dd-mm-yyyy") & ".log" ' tous les jours un nouveau fichier est créé ff FreeFile ' premier numéro d'accès libre au fichier N° du fichier
Open LOG_FILE For Append As ff ' ouverture en ajout
Print #ff, Format(Now(), "dd-mm-yyyy hh:mm:ss") & " : " & Descr ' écriture à la fin du fichier
Close #ff ' fermeture du fichier


End Sub

Merci

3 réponses

cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
1 mars 2006 à 10:41
rien d'autre que d'utiliser : "on error goto mon_nom

Public Sub Write_Log(Groupe As String, Descr As String)

Dim ff As Integer
Dim LOG_FILE As String
On Error Resume Next '
MkDir "c:\log" ' on crée le répertoire : s'il existe pas de problème
On Error GoTo LAFIN '
LOG_FILE = "c:\log" & Groupe & "_" & Format(Date, "dd-mm-yyyy") & ".log" ' tous les jours un nouveau fichier est créé ff FreeFile ' premier numéro d'accès libre au fichier N° du fichier
Open LOG_FILE For Append As ff ' ouverture en ajout
Print #ff, Format(Now(), "dd-mm-yyyy hh:mm:ss") & " : " & Descr ' écriture à la fin du fichier
Close #ff ' fermeture du fichier

LAFIN :

Open LOG_FILE For Append As ff
Print #ff, Format(Now(), "dd-mm-yyyy hh:mm:ss") & " : " & Descr
Close #ff
err.clear


End Sub

Merci

De rien
coïto ergo sum
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
1 mars 2006 à 10:43
Salut,

Dans toutes les fonctions ou sub ou tu souhaite ecrire les erreurs tu fais un truc du style

Private Sub FonctionTest()
On Error Goto TraceErreur

Exit Sub
TraceErreur:
Call Write_Log("FonctionTest", Err.Description)
Resume Next ' Si tu veux reprendre le programme a ligne ou il y avait eu l'erreur
End Sub

En esperant avoir pu t'aider
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 mars 2006 à 12:11
salut,


tu peux aussi gagner du temps en utilisant ma classe, elle fait exactement ce que tu demandes avec quelques options en plus ;)


++


PCPT [AFCK]
0
Rejoignez-nous