On error GoTo -1

Signaler
Messages postés
348
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
6 novembre 2008
-
Messages postés
348
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
6 novembre 2008
-
bonjour,

quelle est la difference entre "on error goto 0" et "on error goto -1" ?

j'ai bien regarde msdn mais la disctinction ne me semble pas flagrante ...

 merci a vous,

alonsyl

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
Amusant, je ne savais même pas que VB acceptait des valeurs négatives.
"On Error Goto 0" réinitialise la gestion d'erreur et l'annule.
Avec "-1", je ne vois pas trop ce que ça ferait de plus.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Si tu es en VB.NET comme l'indique la rubrique ou tu poste, tu ne devrait plus utiliser On Error.

Il faudrait pour bien faire que tu te démerde pour les remplacer par des structures Try...Catch...Finally

Sinon pour ta question, l'aide me parait suffisament claire

* GoTo : lineActive la routine de gestion des erreurs qui démarre à la ligne spécifiée
dans l'argument line requis. L'argument line est une étiquette de ligne ou un numéro de ligne. Si
une erreur d'exécution se produit, le contrôle effectue un branchement vers la
ligne spécifiée, ce qui active le gestionnaire d'erreurs. La ligne spécifiée
doit se trouver dans la même procédure que l'instruction On Error ;
sinon, une erreur de compilation se produit.
* GoTo 0 : Désactive le gestionnaire d'erreurs activé dans la procédure en cours et le
réinitialise à la valeur Nothing.
* GoTo -1 : Désactive l'exception activée dans la procédure en cours et la réinitialise à
la valeur Nothing.
* Resume Next : Indique que dans le cadre d'une erreur d'exécution, le contrôle passe à
l'instruction qui suit directement celle où s'est produite l'erreur ;
l'exécution se poursuit à partir de ce point. Utilisez ce formulaire plutôt que
On Error GoTo lors de l'accès aux objets.
En gros 0 arrete le gestionnaire d'erreur. Il n'y a plus de traitement d'erreur
-1 désactive l'erreur elle même. Le gestionnaire d'erreur n'est pas arreter. Le déclenchement d'une erreur, suspend le gestionnaire d'erreur et appelle le code de traitement de cette erreur. Tant que cette erreur n'est pas indiquée comme traitée, le gestionnaire reste suspendu. -1 indique que l'erreur est traité et le gestionnaire est à nouveau activé. Ca doit etre un équivalent de ERR.Clear

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
348
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
6 novembre 2008
9
voila !

c'est exactement ce que j'ai pu trouver par mes propres moyens mais quelles sont les differences entre "Désactive le gestionnaire d'erreurs activé dans la procédure en cours" et "Désactive l'exception activée dans la procédure en cours ".

pour moi, le "desactive l'exception" signifie qu'on ne tiens pas compte de l'erreur qui a ete genere mais ca ne doit pas etre ca car c'est deja ce que fait "on error resume next" ...

merci a vous,

alonsyl