Gérer les erreurs globalement [VB6] - VB/VBA/VBS - Programmation
Marsh Posté le 30-04-2003 à 15:49:27
dragonspyro93 a écrit : Y a t il un moyen de gerer globalement les erreurs ? |
tu as toujours la solution de specifier un OnError goto Erreur
et
Erreur:
appel de la fonction que tu as défini
et ceci dans chaque procedures et fonctions....
Marsh Posté le 30-04-2003 à 18:58:29
T'as aussi un code qui existent, mais je ne le connais pas; qui te permet de récupèrer tous les codes d'erreur de toutes les pages. Tu tapes le code une fois dans une procédure et tu n'en parles plus, sa évite de le taper sur chacune de tes fonctions ou de tes procédures...
tu le trouveras sur www.vbfrance.com
Marsh Posté le 30-04-2003 à 19:13:15
ça dépend, si tu as un programme linéaire avec un début et une fin, on peut, mais dès que l'interface graphique intervient, on peut plus.
Dans 99% des cas, la réponse est donc simple: non.
La raison est idiote et c'est la faute à Microsoft: le pointeur d'exécution peut être "perdu". C'est à dire qu'il y a un moment dans le code où il n'y a plus rien à exécuter. Scénario classique, tu affiches la fenêtre principale de ton application et elle attend une interactiond de la part de l'utilisateur. Pendant le process d'affichage, il arrive un moment où il n'y a plus rien à exécuter car l'application attend une réaction de l'utilisateur (ou éventuellement d'un composant comme le timer). Au moment où un évènement se déclenchera, le pointeur d'exécution se retrouvera sur la fonction gérant l'évènement, si elle est implémentée dans le code.
Donc la solution, la seule, c'est de foutre une ligne du style:
Code :
|
1) au début de ton programme s'il s'agit d'un Sub Main;
2) au début de chaque fonction répondant à un évènement.
En Delphi/C++ Builder (je pense que c'est le cas pour n'importe quel IDE du marché, sauf VB), une gestion d'erreur basique est implémentée au début du programme, et puis c'est terminé. Basiquement pas besoin de plus. C'est à mon sens un des plus gros problèmes de VB hélas
Et encore, tu n'es pas à l'abri d'une GPF pouvant être générée par le système, là où d'autres langages te permettront de l'intercepter et de la gérer (on parle d'exception, concept quasi inexistant en VB).
Marsh Posté le 30-04-2003 à 14:43:58
Y a t il un moyen de gerer globalement les erreurs ?
Je m explique : je veut que ou que soit et quelque soit l erreur dans mon application (plusieurs modules et formulaires ains que modules classes) cela appel une fonction que j ai définit.
Merci d avance pour votre aide