7. gestion des exceptions
Transcription
7. gestion des exceptions
WLangage.book Page 105 Mardi, 23. avril 2013 1:59 13 7. GESTION DES EXCEPTIONS 7.1 Présentation En cas d'erreur de programmation dans une application / un site, le mécanisme de sécurité du WLangage est activé. Un message d'erreur apparaît alors à l'utilisateur final / l’internaute, et l'exécution du programme se termine. Pour atténuer les conséquences des erreurs de programmation, WinDev / WebDev propose diverses solutions : • l'affichage d'un message d'erreur personnalisé (non disponible en WebDev). • le mécanisme des exceptions. Il est alors possible de personnaliser la gestion de l'erreur. Attention : ces solutions permettent uniquement de gérer des erreurs de programmation. Ces solutions ne permettent pas de gérer des erreurs d'exécution (du type écriture impossible dans un fichier en lecture seule). 7.1.1 Affichage d'un message personnalisé Pour afficher un message personnalisé lors d'une erreur de programmation, il suffit de saisir le texte de l'erreur lors de la création de l'exécutable. Il est ainsi possible, sans la moindre programmation d'afficher un message du type : "Problème dans l'application XXX : Notez le texte de l'erreur et contactez notre support technique au xx.xx.xx.xx.xx". 7.1.2 Mécanisme des exceptions Le mécanisme des exceptions permet de traiter les cas d'erreur par programmation. Si un traitement d'exception est déclenché, aucun message d'erreur n'est affiché, et le code de l'exception est exécuté. Ce code permet de réaliser toutes les opérations nécessaires : • pour sortir "correctement" de l'application / du site en cours si l'erreur est fatale • pour rendre la main à l'utilisateur / l’internaute si l'erreur est corrigible. WinDev / WebDev propose deux types de traitement des exceptions : • les exceptions générales : le traitement d'exception est valable pour l'ensemble d'un objet (projet, fenêtre, page, état, ...) • les exceptions spécifiques : le traitement d'exception est valable uniquement sur une portion de code déterminée. • les exceptions automatisées : la gestion des exceptions se met en place directement depuis l'interface de WinDev, WebDev et WinDev Mobile. 7.2 Mécanisme des exceptions générales 7.2.1 Présentation Un traitement d'exception général est disponible pour l'ensemble des composants de l'objet auquel il est associé. Ce traitement d'exception sera utilisable tant que l'objet est disponible. Un traitement d'exception général peut être déclaré dans n'importe quel traitement. Quelques exemples : • si le traitement d'exception est déclaré dans le code d'initialisation du projet, il est valide pour toute erreur se produisant dans le projet. • si le traitement d'exception est déclaré dans le code d'initialisation d'une fenêtre (code de déclaration des globales d’une page ou code d’ouver- ture d'un état), il est valide pour toute erreur survenant dans la fenêtre / page, un champ de la fenêtre / page, une procédure locale à la fenêtre / page. Ce traitement d'exception n'est plus valide à la fermeture de la fenêtre / page. • si le traitement d'exception est déclaré dans un traitement quelconque, il est valide pour toute erreur se produisant dans ce traitement. Ce traitement d'exception ne sera plus valide une fois le traitement terminé. Ainsi, un traitement d'exception déclaré dans un code de clic d'un bouton ne sera valide que dans ce traitement et dans toutes les procédures appelées à partir de ce traitement. Partie 2 : Syntaxe de base du WLangage 105