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