"On error Resume next" [Résolu]

Signaler
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010
-
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010
-
Bonjour.
J'aimerai savoir quelle portée a la commande On error Resume Next dans un code.
Est ce que cette ligne ne fonctionne que pour la ligne suivante, ou bien sur tout le code présent après celle ci, ou juste la procédure...
J'ai déja utilisé celle ci pour éviter l'arret du programme sur un bug que je n'arrivais pas à enlevé, je l'ai mis en début de page. Mais je ne sais pas a quelle ligne de programme cela s'applique, car parfois certaines erreur apparaissait quand meme.

8 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
elle s'applique, tout comme toutes les instructions On Error d'ailleurs, à partir de la ligne suivante jusqu'à la prochaine instruction On Error ou la fin de la procédure ou fonction.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Un conseil!
Afin de stopper l'effet d'un on error resume next qui agit de manière un peu trop globale, à la fin de ta fonction locale, ajoutes lui un coup de 'on error goto 0' et l'effet du resume sera alors bien local et non plus global ( piège assez général dans lequel bon nombre de developpeurs sont tombés ) ^^

Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

Si tu est sous .net, utilise plutot des try ... catch

__________
Kenji
(
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

Ok merci beaucoup pour vos réponse, cela m'éclaire bien!!
je vais essayé d'appliquer vos conseil, merci!
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
29 juillet 2010

Bonjour,

j'utilise des "on error goto X" dans une partie de mon code mais pas partout. Comme l'a précisé Pulpul74, il y a des erreurs qui apparaissent quand même pour diverses raisons. Le problème est que l'application du coup se ferme. Et donc j'ai des utilisateurs qui se plaignent de voir à réouvrir l'application à chaque erreur, ce qui n'est pas toujours très agréable.

Comment faire justement pour rendre global le "on error goto..." ?

Merci beaucoup


Oublier, c'est trahir...(Génocide Arménien 1915)
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015

il suffit de mettre on error resume next à chaque début de procédures et de fonction

nitho l'amateur
Messages postés
15
Date d'inscription
mercredi 1 avril 2009
Statut
Membre
Dernière intervention
10 avril 2011

salut,
svp j'ai un blem le "error resume next" ne marche pas c'est moi comme il faut
voila mon code
Private Sub Command1_Click()
Dim rs As Recordset
Dim db1 As Database
Set db1 = OpenDatabase(dbName1)
On Error Resume Next
Set rs = db1.OpenRecordset("Utilisateur", dbOpenDynaset)
If (Err = 0) Then
rs.AddNew
rs(0) = Text1.Text
rs(1) = Text2.Text
rs.Update
MsgBox "adjontion bien faite"
Else
MsgBox "utilsateur existe deja"
rs.Close
db1.Close
End If
End Sub

le problem c'est que si j'ai un utilisateur qui existe deja je vois pas le mesg "utilisateur existe deja" mais je vois "adjonction bien faite" sachant que k'ajout ne se fait pas.
SVP comment faire pr regler ces msgbox
Messages postés
77
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
27 septembre 2010

Essaye au lieu de mettre
If (err=0) then

met plutot cette ligne :
If Err.Number=0 then