jothecracker
Messages postés26Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention 9 mars 2011
-
27 mars 2009 à 18:07
jothecracker
Messages postés26Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention 9 mars 2011
-
28 mars 2009 à 02:18
Bonjour,
Je cherche comment faire pour passer au 'Next' dans une boucle For en cas d'erreur.
For Each Ligne dans FichierCVS
Try
Traitement (Ligne)
Catch
'Comment Aller a Next ?
End Try
'Code ne pouvant etre executer en cas d'erreur du traitement
Excecution Code
Next
Comment faire pou executer le 'Next' suivant ? Exit For quitte la boucle sans executer la ligne suivante, ce qui ne m'arrange pas vraiement.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 27 mars 2009 à 18:37
Un GOTO quelle horreur. VADE RETRO. Et en plus tu déclare une variable du même nom que l'étiquette pour ajouter à la confusion.
RAPPEL : GOTO ne devrait jamais être utiliser dans un langage évènementiel, c'est une instruction qui date des ancetres du Basic et qui ne devrait plus du tout exister dans VB
jothecracker
Messages postés26Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention 9 mars 20111 28 mars 2009 à 02:18
Merci a tous pour vos réponses,
Je vois que la question a pose polémique :)
Je suis partis sur la solution de Casy, j'ajouterais ceci :
"Mot clé largement utilisé dans différents
langages comme le C++, ou le C#, le continue permet de passer à
l’itération suivante d’une boucle sans exécuter le code “restant” dans
cette boucle, c’est une rupture de séquence. Prenons un exemple simple
mais concret:
For i As Integer = 0 To 10
If i = 3 Then Continue For ‘Si i=3, alors pas de message dans la console
Console.WriteLine(i.ToString)
Next
Ce code présente donc le “Continue For”, comme il existe le “Continue While” et le “Continue Do”."
Duke49
Messages postés552Date d'inscriptionjeudi 12 octobre 2006StatutNon membreDernière intervention24 janvier 20234 27 mars 2009 à 21:48
[../auteur/CASY/333139.aspx casy]
c'est vrai dans une certaine mesure, c'est maintenant une question de mentalité.
Comme le fait de passer d'un windows a un autre, on entend et
cette personne restera fidèle à son vieux windows avec ce même discourt alors qu'il
suffit d'attendre une version stable ou un service pack.
Tu ne peux pas avancer ce que tu dis sur le Goto sans savoir ce que traite le Try.
Debug en pas à pas cette procédure avec Odbg et tu verras; sa rox le goto !
De toute façon je préfère ASM à XAML et VB6 au .NET
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 27 mars 2009 à 22:00
Je répète, GOTO (il en va de même pour Gosub) ne devrait jamais être utiliser dans un langage évènementiel. Pour la gamme VB ça correspond, si mes souvenirs sont bon à la version VB4 pour la programmation sous Windows 3.1, ça remonte à près de 18 ans maintenant (1993-94).
Goto n'était acceptable en VB6 (parce qu'on n'avait pas le choix) que dans les gestionnaires d'erreur, les On Error Goto.
En .Net, si les On Error Goto existent toujours les Try Ctach sont bien plus performants et devraient être systématiquement utilisés.
L'instruction Goto n'a plus lieu d'être et je maintiens qu'elle devrait être purement et simplemnt supprimer du langage.
En plus de 10 ans de programmation professionnelle, je n'ai jamais eu besoin d'utiliser un Goto en dehors du On Error Goto (en excluant évidement les HPBasic, Basica, QBasic et autre QuickBasic)
De plus [../auteur/DUKE49/880809.aspx Duke49] dans le code que tu donne et donc l'utilisation du Goto, tu fais tout le contraire de ce qui est demandé dans la question