Catachrof
Messages postés4Date d'inscriptiondimanche 21 juin 2009StatutMembreDernière intervention24 juin 2009
-
23 juin 2009 à 17:12
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 juin 2009 à 09:55
Bonjour
Je me retrouve à présent coincée avec la gestion des erreurs.
J'ai un bout de code qui consiste à remonter une liste de noms de fichiers, jusqu'à rencontrer un nom de fichier au format attendu (successions de caractères et d'_, format que j'ai moi-même défini), en ignorant les noms de fichiers invalides.
En théorie la rencontre avec un nom de fichier invalide me génère une erreur. J'ai donc voulu me servir de cette évènement pour indiquer qu'il fallait remonter d'un cran dans la liste.
Premier passage en erreur : l'erreur est bien gérée, le programme retourne bien à l'étiquette.
Deuxième erreur : elle n'est plus gérée comme si "On error goto" était absent du code.
J'ai essayé de placer un "on error goto 0", en vain.
Est-ce que vb6 sait gérer 2 erreurs consécutives ou bien une fois dans la boucle erronée, c'est fichu ?
Par avance merci pour vos réponses
Voici mon code :
'gestion de l'erreur nom de fichier ne correspondant pas au format attendu
Ignorer_fichier:
'test si une erreur survient au moment de la décomposition du nom de fichier
If Decomposition_entamee = True Then
'on considère désormais le fichier précédent
Nombre_de_fichiers_trouves = Nombre_de_fichiers_trouves - 1
End If
On Error GoTo 0
'le dernier fichier résultat à prendre en compte est celui pointé par la variable Nombre_de_fichiers_trouves
Fichier_resultats = frmLancement_du_test.Liste_fichiers.ListItems(Nombre_de_fichiers_trouves).Text
On Error GoTo Ignorer_fichier
'Décomposition du nom du dernier fichier résultats trouvé dans le répertoire du produit
Decomposition_fichier_resultats = Split(Fichier_resultats, "_")
'décomposition entamée
Decomposition_entamee = True
'extraction du numéro de série du produit
NS_produit = Decomposition_fichier_resultats(0)
'extraction du type de test réalisé
Type_de_test = Decomposition_fichier_resultats(1)
'extraction de l'indice du fichier
Indice_fichier = Decomposition_fichier_resultats(2)
'extraction du résultat du test
Resultat_test = Mid(Decomposition_fichier_resultats(3), 1, 1)
Catachrof
Messages postés4Date d'inscriptiondimanche 21 juin 2009StatutMembreDernière intervention24 juin 2009 24 juin 2009 à 09:52
Coucou
Idem avec Err.clear...
J'ai eu un doute quant à l'origine du problème hier alors j'ai refait la manip. Je précise que le problème qui provoque la première erreur est de même type que celui qui provoque la deuxième. Tous deux viennent du fait que le nom de fichier à traiter ne rentre pas dans le tableau Decomposition_fichier_resultats.
La non-gestion ne vient donc pas du type d'erreur mais du fait que ce soit 2 gestions d'erreurs consécutives.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 juin 2009 à 09:55
salut,
pas remplacer mais et clear et goto 0 oui
une fois l'erreur "relevée", elle est en mémoire tant qu'elle n'est pas traitée
(il semble d'ailleurs manquer un bon bout de code, un resume etiquette serait plus approprié)
++