DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des Exceptions
  • Présentation
  • Gestion automatique des erreurs
  • Mettre en place la gestion automatique des erreurs
  • Exécuter le traitement d'erreur ("CAS ERREUR:" dans le code)
  • Exécuter une procédure de traitement d'erreur
  • Afficher l'erreur et quitter l'application
  • Afficher l'erreur et retourner en saisie dans la fenêtre courante
  • Afficher l'erreur et laisser l'utilisateur décider
  • Sortir de la procédure et renvoyer XXX et afficher l'erreur
  • Personnaliser les fenêtres de gestion automatique des erreurs
  • Fonctions de gestion automatique des erreurs
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Gestion automatique des erreurs
Présentation
La gestion des erreurs peut être personnalisée par traitement.
C'est la fin des fameux "SI ...PAS", "SI ErreurDétectée ...", et autres tests imbriqués qui rendaient le code moins lisible.
Vous pouvez choisir d'utiliser un traitement automatique d'erreur ou opter pour une gestion avancée grâce à différentes fonctions WLangage.
Important : La gestion automatique des erreurs et des exceptions fonctionne uniquement pour le traitement pour lequel elle est définie.
Gestion automatique des erreurs

Mettre en place la gestion automatique des erreurs

Pour mettre en place la gestion automatique des erreurs :
  1. Affichez sous l'éditeur de code, l'événement ou le traitement dans lequel les erreurs doivent être traitées : code d'initialisation, code de clic, procédure, ...
  2. Dans l'entête du code, cliquez sur "Si Erreur : par programme".
  3. La fenêtre qui s'affiche permet de spécifier le type de traitement automatique à effectuer :
Remarques :
  • Le code de gestion de l'erreur présent dans le traitement en cours est prioritaire sur les traitements automatiques dans les deux cas suivants :
    • Test d'une fonction de type "SI PAS xxxx = Vrai ou Faux"
    • Test des erreurs avec la variable ErreurDétectée.
  • Une gestion avancée des erreurs peut être réalisée grâce à la fonction ErreurChangeParamètre.

Exécuter le traitement d'erreur ("CAS ERREUR:" dans le code)

Si cette option est sélectionnée, une ligne de code est ajoutée dans le code en cours "CAS ERREUR: ". Les lignes de code suivant cette étiquette seront exécutées lorsqu'une erreur sera rencontrée dans les lignes de codes précédentes. Cette option est conseillée pour regrouper par exemple tous les traitements d'erreurs pouvant survenir.
Remarque : Si "CAS ERREUR" est directement écrit dans un code, l'option "Exécuter le traitement d'erreur ("CAS ERREUR:" dans le code)" sera automatiquement sélectionnée.

Exécuter une procédure de traitement d'erreur

Si cette option est sélectionnée, lorsqu'une erreur sera rencontrée dans le traitement en cours, la procédure indiquée sera automatiquement exécutée pour traiter l'erreur. Cette option est conseillée si vous possédez dans votre application une procédure existante traitant les erreurs. L'appel à cette procédure sera automatique dès qu'une erreur est rencontrée. Aucun test à faire.
Dans cette procédure, il est possible de renvoyer une des constantes présentées dans le tableau ci-dessous.
En fonction de la constante renvoyée, WINDEV, WEBDEV ou WINDEV Mobile effectuera le traitement correspondant.
opAnnulerLa fonction ayant déclenché l'erreur renvoie une erreur et le code continue à s'exécuter.
opFinProgrammeLa fonction ayant déclenché l'erreur renvoie une erreur et le programme s'arrête. Équivalent à une ligne de code de type :
SI PAS <Fonction> ALORS FinProgramme()
opFinTraitementLa fonction ayant déclenché l'erreur renvoie une erreur et le traitement en cours s'arrête. Équivalent à une ligne de code de type :
SI PAS <Fonction HFSQL> ALORS DonneFocusEtRetourUtilisateur()
opRéessayerLa fonction ayant déclenché l'erreur est ré-exécutée.
opRelanceProgrammeTermine l'application et relance automatiquement l'application.

Afficher l'erreur et quitter l'application

Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
  • Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
  • Arrêter l'application
  • Relancer automatiquement l'application après son arrêt. Cette option n'est pas disponible en Java.

Afficher l'erreur et retourner en saisie dans la fenêtre courante

Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
  • Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
  • Arrêter l'application
  • Annuler l'opération : le traitement en cours est annulé. La fenêtre en cours de l'application s'affiche.
  • Relancer automatiquement l'application après son arrêt.

Afficher l'erreur et laisser l'utilisateur décider

Si cette option est sélectionnée, si une erreur est rencontrée dans l'application la fenêtre suivante s'affiche automatiquement :
Dans cette fenêtre, l'utilisateur peut :
  • Copier les informations concernant l'erreur dans le presse-papiers (par exemple pour transmettre ces informations au développeur de l'application)
  • Arrêter l'application
  • Annuler l'opération : le traitement en cours est annulé. La fenêtre en cours de l'application s'affiche.
  • Ré-essayer l'opération : l'opération qui a provoqué l'erreur sera annulée puis ré-exécutée.
  • Relancer automatiquement l'application après son arrêt. Cette option n'est pas disponible en Java.

Sortir de la procédure et renvoyer XXX et afficher l'erreur

Si cette option est sélectionnée, lorsque l'erreur est rencontrée dans le code, le code effectuera automatiquement un RENVOYER XXX, que votre programme pourra traiter.
Les valeurs pouvant être renvoyées sont :
  • -1
  • 0
  • Chaîne vide ("")
  • FAUX
  • NULL
  • VRAI
Il est également possible d'afficher l'erreur.
Personnaliser les fenêtres de gestion automatique des erreurs
Fonctions de gestion automatique des erreurs
Les fonctions de gestion automatique des erreurs sont les suivantes :
ErreurChangeParamètreParamètre le comportement automatique à adopter en cas d'erreur dans le traitement en cours.
ErreurDéclencheDéclenche une erreur non fatale.
ErreurInfoRécupère des informations sur la dernière erreur d'une fonction d'une composante de WINDEV, WINDEV Mobile ou de WEBDEV.
ErreurPropagePropage une erreur non fatale qui pourra être traitée par le code appelant, si ce code a activé une gestion des erreurs non fatales (sous l'éditeur de code, ou par la fonction ErreurChangeParamètre).
ErreurRestaureParamètreRétablit le traitement d'erreur d'un traitement.
Liste des exemples associés :
WD Gestion Auto Erreurs Exemples didactiques (WINDEV) : WD Gestion Auto Erreurs
[ + ] L'exemple "WD Gestion Auto Erreurs" est un exemple didactique sur la gestion automatique des erreurs.
Cet exemple montre le cas des erreurs fatales, non fatales, sur plusieurs niveaux.
WD Gestion des erreurs Java Exemples didactiques (WINDEV) : WD Gestion des erreurs Java
[ + ] Avec WINDEV, vous développez des applications Java belles et fonctionnelles et sans avoir besoin de connaître le langage Java.
Vous bénéficiez de la puissance de l'environnement de WINDEV, et aussi de tout ses automatismes.
Un de ces automatismes très apprécié est la gestion automatique des erreurs.
Cet exemple didactique permet de comprendre le fonctionnement et la mise en œuvre du mécanisme de gestion des erreurs de WINDEV.
Des illustrations concrètes permettent de comprendre et de constater la simplification réalisée lors de la mise en œuvre de cette fonctionnalité.
Ce projet est configuré pour générer une archive Java.
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 08/03/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale