ç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 :
- On Error Goto ErrHandler
|
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).
---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)