Gestion de 2 erreurs consécutives

Catachrof Messages postés 4 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 24 juin 2009 - 23 juin 2009 à 17:12
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Derniè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)

3 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
23 juin 2009 à 17:31
Salut,

essai de remplacer On Error GoTo 0   par   Err.Clear

A+
0
Catachrof Messages postés 4 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 24 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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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é)
++
0
Rejoignez-nous