Gestion de 2 erreurs consécutives

Signaler
Messages postés
4
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
24 juin 2009
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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)

3 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

essai de remplacer On Error GoTo 0   par   Err.Clear

A+
Messages postés
4
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
24 juin 2009

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.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
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é)
++