Repeter tant que il y a erreur

chefinf Messages postés 166 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 25 octobre 2011 - 2 juil. 2011 à 14:31
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 2 juil. 2011 à 21:40
Bonjour tlm,

Je développe avec VB6.0, je veux savoir y a t il un code dont je peux le mettre dans mon application qui fait boucler quelques instructions s'il y a n'importe quelle erreur d'exécution?

Par exemple:

Do while (condition = n'importe quelle erreur lors de l'exécution)
x=x-1
y=x/2
Loop



Merci d'avance.

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
2 juil. 2011 à 15:40
Bonjour,

Une solution souvent gérée dans ce cas :
Dim lGood as Boolean
lGood=True

On Error Goto Err_Sub

Do
lGood=True
'Traitement
:Err_Resume
Loop Until lGood

On Error Goto 0
Exit Sub

:Err_Sub
lGood=False
Err.Clear
Resume Err_Resume


Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 juil. 2011 à 21:40
Bonjour,

1) - il n'y a pas, à mon sens, de réponse "universelle" à ta question. Un bon développeur traite les cas pour ce qu'ils sont : des cas ! Et chaque cas est un cas, avec ses particularités
2) - on s'efforce en général de privilégier la non survenue d'une erreur à la gestion d'une erreur qui aurait pu être évitée ! La gestion d'erreur n'est à utiliser que dans des cas relativement rares et totalement indépendants de la sagesse du développeur.
Pour illustrer tout cela : ===>> prenons ton exemple (et donc UN cas) :===>> une erreur surviendra et ne sera à gérer que lorsque x = 0. Ceci peut être géré par un seimple On Error Resume Next.
Mais il vaudrait bien mieux éviter cette gestion d'erreur, parfaitement évitable, ainsi (dans ton exemple) :

If x <> 0 then ...
...
Else
...
End If


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
Rejoignez-nous