pben
Messages postés6Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention10 mars 2011
-
10 mars 2011 à 10:45
pben
Messages postés6Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention10 mars 2011
-
10 mars 2011 à 14:14
Dans une fonction Mafonction j'ai besoin de restaurer en sortie le Err tel qu'il était à l'entrée de ma fonction. J'ai fais un truc qui ressemble à celà :
Function Mafonction()
Dim errNumber As Long
Dim errDescription As String
'mémo
errNumber = Err.number
errDescription = Err.Description
On Error Resume Next
'''''''''''
''' ici le code de ma fonction (qui peut modifier le Err)
'''''''''''
On Error GoTo 0
'on restaure
If errNumber <> Err.number Then
Err.number = errNumber
Err.Description = errDescription
End If
End Function
Cela marche sauf que dans du code où j'utilise des APIs cela occasionne un plantage sévère : VB se crashe !
Connaissez-vous une autre façon de faire ?
A voir également:
Aucun jeu de sauvegarde n'a été sélectionné pour être restauré
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 10 mars 2011 à 11:32
Function Mafonction()
On Error Resume Next
'''''''''''
''' ici le code de ma fonction (qui peut modifier le Err)
'''''''''''
Err.clear
End Function
juste avec ça ça marchera pas besoin de toute ton usine à gaz
mais le mieux serait quand même de gérer les erreurs quand elles se produisent plutôt que de les masquer
et aussi d'écrire un code propre qui ne génère pas d'erreur
pben
Messages postés6Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention10 mars 2011 10 mars 2011 à 13:56
le Err.clear que tu utilises à la fin efface les erreurs. Hors moi je veux retrouver le Err tel qu'il existait au début de la routine (c'est pour ne pas perturber le programme appelant qui peut avoir besoin de traiter cet Err).