|
|
|
|
|
- Utilisation de la constante epExécuteProcédureGénérale
ExceptionChangeParamètre (Fonction) En anglais : ExceptionChangeParameter Paramètre le comportement automatique à adopter en cas d'exception dans le traitement en cours. Le comportement précédent pourra être retrouvé grâce à la fonction ExceptionRestaureParamètre.
Syntaxe
ExceptionChangeParamètre(<Comportement à  adopter> [, <Paramètre>])
<Comportement à adopter> : Constante de type entier Comportement à adopter : | | epCode | Fonctionnement classique des exceptions.
Exécute :- soit le traitement QUAND EXCEPTION
- soit la gestion automatique des exceptions.
| epExécuteProcédure | Exécute la procédure indiquée en paramètre.
Cette procédure doit renvoyer une des constantes suivantes :- opFinTraitement : L'utilisateur reprend la main.
- opFinProgramme (par défaut) : L'application est arrêtée.
- opRelanceProgramme : Arrête et relance l'application.
| epExécuteProcédureGénérale | Utilisé dans le code d'initialisation du projet, exécute la procédure indiquée en paramètre. La procédure est appelée si aucun traitement d'exception local n'est actif.
La procédure est active au niveau du contexte d'exécution (projet, composant externe autonome, composant interne autonome). S'il n'y a pas de procédure dans le contexte courant, la procédure est recherchée dans le contexte parent et ceci récursivement jusqu'au niveau de l'application.Cette procédure doit renvoyer une des constantes suivantes : - opFinTraitement : L'utilisateur reprend la main.
- opFinProgramme (par défaut) : L'application est arrêtée.
- opRelanceProgramme : Arrête et relance l'application.
Remarques : - Chaque appel remplace la procédure précédemment renseignée.
- Dans la majorité des cas, la procédure permet d'écrire les informations sur le problème rencontré dans un fichier journal.
| epGotoCasException | Exécute le code défini par l'étiquette : CAS EXCEPTION: | epRenvoyer | Sort du traitement en cours en renvoyant la valeur spécifiée en paramètre. L'exception n'est pas propagée. | epRetour | Termine le traitement en cours sans propager l'exception |
<Paramètre> : Paramètre optionnel Paramètre optionnel dépendant du comportement choisi. Remarques Utilisation de la constante epExécuteProcédureGénérale La constante epExécuteProcédureGénérale permet de gérer les exceptions de manière globale pour l'intégralité du projet. Rappel : pour gérer les exceptions de manière globale au projet, il est possible d'utiliser le bloc QUAND EXCEPTION dans le code d'initialisation du projet. Lorsque le traitement d'exception QUAND EXCEPTION est déclaré dans le code d'initialisation du projet, il est valide pour toute erreur se produisant dans le projet. Pour plus de détails, consultez Mécanisme des exceptions générales. L'utilisation de la la fonction WLangage ExceptionChangeParamètre avec le paramètre epExécuteProcédureGénérale dans le code d'initialisation du projet permet de spécifier la procédure WLangage à appeler en cas d'exception. La procédure spécifiée est alors appelée si aucun traitement d'exception local n'est actif. Exemple : L'appel effectué dans le code d'initialisation du projet est le suivant : ExceptionChangeParamètre(epExécuteProcédureGénérale, _GestionExceptionGlobale)
La procédure globale _GestionExceptionGlobale est appelée automatiquement par le WLangage en cas d'exception survenant dans le projet. En gérant un traitement d'exception global à tout le projet, il devient par exemple possible de : - générer un dump de débogage avec la fonction WLangage dbgSauveDumpDébogage,
- envoyer un email au développeur de l'application avec le dump de débogage (ou envoyer le dump via FTP),
- afficher une erreur claire à l'utilisateur final et proposer de relancer l'application.
Exemple : PROCÉDURE _GestionExceptionGlobale()  sFichier est une chaîne sFichier = fRépertoireTemp() + ["\"] + "Dump.wdump"  // Sauve un dump dbgSauveDumpDébogage(sFichier)  // Ouvre la fenêtre d'erreur Ouvre(FEN_Erreur, ExceptionInfo(errComplet), sFichier)  // Dans tous les cas au retour, // on ferme le programme RENVOYER opFinProgramme
La procédure globale peut être partagée et réutilisée dans plusieurs projets. Classification Métier / UI : Code neutre
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|