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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| Sub EcrireJournalErreur(ByVal Erreur As String, ByVal Numero As String)
Dim strFichierLog As String
Dim oFSO As FileSystemObject
Dim oStream As TextStream
Dim strNouvelleLigneErreur As String
  strFichierLog = "C:\LogErreurAccess.log"
  strNouvelleLigneErreur = Now & vbCrLf & "Erreur " & Numero & " : " & _
  Erreur & vbCrLf
  Set oFSO = New FileSystemObject
  Set oStream = oFSO.CreateTextFile(strFichierLog, _
  IIf(oFSO.FileExists(strFichierLog), False, True), False)
  Set oStream = Nothing
  Set oStream = oFSO.OpenTextFile(strFichierLog, ForAppending, False, _
  TristateFalse)
  With oStream
    .Write strNouvelleLigneErreur
    .Close
  End With
  Set oFSO = Nothing
  Set oStream = Nothing
End Sub
Private Sub UneProcédure()
Dim strErr As String
Dim lngErr As Long
Dim I As Integer
  On Error GoTo Erreur
  ' On provoque l'erreur 11 exprès...
  I = 10 / 0
  '''[Do anything else...
  ''' -------------------------
  ''' -------------------------
  ''' -------------------------
  ''' -------------------------
Sortie:
  Exit Sub
Erreur:
strErr = Err.Source & " : " & Err.Description & " (" & Err.LastDllError & ")"
lngErr = Err.Number
  MsgBox strErr, lngErr, "Erreur interne"
  EcrireJournalErreur strErr, Str(lngErr)
End Sub |
Partager