Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation

  Truc zarb en VB avec On Error et GoTo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Truc zarb en VB avec On Error et GoTo

n°51015
Dost67
Posté le 03-08-2001 à 23:29:01  profilanswer
 

Donc voilà le code modifié pour être postable ;) :
 
un contrôle ProgressBar1
un Timer avec 1000 comme intervalle
 
Sub Timer_Timer()
  On Error GoTo Erreur
  ProgressBar1 = ProgressBar1 + 1
Erreur :
  MsgBox "Erreur" & Err.Description
End Sub

 
Donc le problème est qu'il m'éxecute en permancence l'étiquette Erreur à chaque Timer même s'il n'y a pas d'erreur. Je sais ça parce que dans le message box y'a Erreur : et pas de description donc c'est pas le On Error qui a appelé l'étiquette.
 
Help SVP !

mood
Publicité
Posté le 03-08-2001 à 23:29:01  profilanswer
 

n°51039
avv
Posté le 04-08-2001 à 11:51:56  profilanswer
 

Ben c'est normal, après ProgressBar1.... il continue le code et donc erreur:, après progressbar1... ajoute
 
On error goto   ' enlever la gestion erreur
Exit sub        ' sortir du sub

n°51056
macray
Posté le 04-08-2001 à 13:53:16  profilanswer
 

Sub Timer_Timer()
On Error GoTo Erreur
 ProgressBar1 = ProgressBar1 + 1
Exit sub
Erreur :
 MsgBox "Erreur" & Err.Description
End Sub
 
Nous venons de rajouter "exit sub"
essaye

n°51074
Dost67
Posté le 04-08-2001 à 17:35:30  profilanswer
 

Ah OK faut quitter le Sub d'abord. Savais pas ! Merci.

n°51102
Kyle_Katar​n
Posté le 05-08-2001 à 09:38:08  profilanswer
 

Les "OnError" et surtout lezs goto sont à proscrire ! C'est de la programmation-spagetti ! Rigueur nulle, plein de prob dans ton genre à gérer ...

n°51108
Dost67
Posté le 05-08-2001 à 11:41:04  profilanswer
 

Et tu fais comment pour gérer les erreurs alors ?

n°51110
macray
Posté le 05-08-2001 à 11:46:01  profilanswer
 

Dost67 a écrit a écrit :

Et tu fais comment pour gérer les erreurs alors ?  



tu n'as pas 50 moyens d'y arriver, il n'y que cette solution tout du moins simple. Aprés effectivement il existe des fonctions trés compliqués, je ne me souviens plus, je crois qu'il relève les numéro de ligne et te renvoie les erreurs. Franchement reste dans le simple avec cette méthode,elle est parfaitement fiable et fonctionne trés bien... :hello:

n°51113
Kyle_Katar​n
Posté le 05-08-2001 à 13:16:13  profilanswer
 

Avec l'api GetLastError (je l'utilise en VC++, elle doit être accessible en VB)

n°51116
verdoux
And I'm still waiting
Posté le 05-08-2001 à 14:02:53  profilanswer
 

Kyle_Katarn a écrit a écrit :

Les "OnError" et surtout lezs goto sont à proscrire ! C'est de la programmation-spagetti ! Rigueur nulle, plein de prob dans ton genre à gérer ...  




On ne peut que faire du code spaghetti en VB.
D'ailleurs c'est fait pour.

n°51118
macray
Posté le 05-08-2001 à 14:09:58  profilanswer
 

figure toi que si VB était si nul que cela, certaines version de logiceil de Microsoft n'aurait pas utilisé et n'utiliserais pas encore le VB accompagné cu C++ pour faire les logiceils.
 :gun:

mood
Publicité
Posté le 05-08-2001 à 14:09:58  profilanswer
 

n°51120
verdoux
And I'm still waiting
Posté le 05-08-2001 à 14:21:18  profilanswer
 

J'utilise VB, mais pour faire de trucs à sa portée.
C'est à dire des petits progs, du VBA pour les applis windows, du VB pour faire des front end d'API développées en c++.
Mais je ne ferai jamais un gros trucs avec.
Au moins jusqu'à la version 6, le modèle objet de VB est risible. D'ailleurs MS a modifié pas mal de choses pour VB.net pour rendre VB "moderne".

n°51127
Kyle_Katar​n
Posté le 05-08-2001 à 15:05:05  profilanswer
 

VB est un très bon language RAD, ok faut pas lui en demander bcp mais c'est pas une raison pour coder comme des porcs avec...

n°51179
Carbon_14
Posté le 06-08-2001 à 09:08:59  profilanswer
 

Ne pas oublier un détail : ajouter On Error GoTo 0 après si ça c'est bien passé, sinon, la prochaine erreur dans le prog non déroutée, causera une tentative d'accès à l'adresse Erreur:, inaccessible en dehors de ce module (du moins en VB3).
 
Cela donne :
 
Sub Timer_Timer()  
On Error GoTo Erreur ' déroute si pb
ProgressBar1 = ProgressBar1 + 1  
On Error GoTo 0 ' ne déroute plus
Exit sub  
 
Erreur :  
MsgBox "Erreur" & Err.Description  
End Sub  
 
Le VB n'est pas aussi évolué que le C(++).
 
En 16 bits, GetLastError() n'est pas fonctionnelle, d'après mes essais. En 32, pas sûr que cela marche. A vérifier ! Il faut que la fonction daigne renseigner l'erreur de cette façon (mais c'est peut-être "caché" et fonctionnel).

n°51202
macray
Posté le 06-08-2001 à 10:36:44  profilanswer
 

tu n'as pas besoin de mettre on error Goto 0, cela n'est pas utile a partir de la version 5.0. Il marche sans.

n°51210
Carbon_14
Posté le 06-08-2001 à 11:25:41  profilanswer
 

Merci pour l'info.  
Suis resté à VB3. Y avait un bug pas mal à cause de cela l'autre jour (mais on ne m'y prend pas .. :) ).

n°51476
HelloWorld
Salut tout le monde!
Posté le 07-08-2001 à 13:19:12  profilanswer
 

Kyle> il me semble que le "on error ... goto" est bien plus qu'un gestionnaire d'erreur, mais un veritable systeme de gestion d'exception, mais c'est à la sauce VB alors c'est un peu ... c'est VB quoi
en clair, tu geres des exception aussi avec. enfin je crois pas qu'il y ait un meilleur moyen ...
je m'explique : comment gere remplace tu le "On Error ... Goto" de ce code avec GetLastError ?
 
On Error Goto Erreur
variable = variable / 0
exit sub
Erreur:
MsgBox("Ah ben faut pas diviser par zero." )


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Truc zarb en VB avec On Error et GoTo

 

Sujets relatifs
l[SQL sous VBA] BESOIN D UN TRUC UN PEU SPECIAL!!!BESOIN De PROS!!!!![java ]un truc ton con...
Truc de Ouf en ASP !!!! :(:(:([PHP] Truc bidon mais je trouve pas
[C++] truc = new int[200] ça initialise à zéro en standard...[VC++] - error 80020005 lors d"un acces à une Base de données ACCESS
Truc de base mais j'ai pas MSDN... c'est con, non ?je deviens fous ou j'oublie un truc!! c'est du HTML de base ausecour!!
[html] y a un truc à mettre dans le <a href= ...> pour que[C++]Un truc bizarre!
Plus de sujets relatifs à : Truc zarb en VB avec On Error et GoTo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR