TRACER 5 FONCTIONS DEFINIES PAR L'UTILISATEUR, EN MEME TEMPS

Signaler
Messages postés
161
Date d'inscription
lundi 17 mai 2004
Statut
Membre
Dernière intervention
16 juillet 2007
-
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36428-tracer-5-fonctions-definies-par-l-utilisateur-en-meme-temps

Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
d'accord avec Steff, si tu peux prévoir les erreurs, ajoutes des tests, ce sera moins lourd a traiter que de gérer les erreurs...
cs_Steff
Messages postés
34
Date d'inscription
vendredi 9 novembre 2001
Statut
Membre
Dernière intervention
29 mars 2007

Hello,

On error Resume Next marche, mais c'est crado. Je suis brutal, mais je vais expliquer.
Si tu utilise on error resume next et que ta procédure appelle d'autre procédures, le on error va se propager. Tu peux donc planter bien plus loin que la procédure appelante et dans ce cas, le code reprendra directement à la suite de la procédure appelé en oubliant tout ce qui a été fait avant. Je sais pas si c'est clair comme explication.
Si tu connais l'erreur, dans le cas d'un ln(x), ne serait-il pas plus judicieux d'écrire :
if (x > 0) then
y = ln(x)
end if
Le on error resume next est une belle source d'emmerde. Il vaut mieux si tu veux absolument utiliser le on error, le faire en local avec une instruction on local error resumenext. Dans ce cas, la propagation du traitement ne se fera pas dans les sous procédures.

++
Steff
amezghal
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
2
salut
je crois que je n ai pas besoin d'utiliser le On Error GOTO
car moi je connais l'erreur (c'est que c'est impossible de trouver une valeur d'une fonction en dehors dans son champ de définition -exemple ln(x) pour x<=0) donc j'utilise le On Error Resume Next pour ignorer l'erreur (je pense que c'est logique)
et merci
mitnick2006
Messages postés
6
Date d'inscription
dimanche 12 février 2006
Statut
Membre
Dernière intervention
2 avril 2006

bonjour tous le monde
merci amezghal de ce code
mais j ai 1e observation sur tn erreur,il est priferable de mettre
"on erreur goto err" dont err et le nom de la place ou il se derige le vb prceke l instruction de "on erreur resume next" il force le programme de ingorer l erreur et c est pas bien dans les cas ou l erreur peux s influencer sur le bon fonctionnement du programme.
exemple de l utilisation de l instruction
private sub cmd_click()
on erreur goto err
..... 'code
exit sub
err:
msgbox"entrer seulement les nombres",vbokonly+vbexlamation,"Erreur"
end sub
et merci bcp du programme monsieur.