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.
      Java Le code de gestion de l'erreur présent dans le traitement en cours n'est pas prioritaire sur les traitements automatiques : le traitement d'erreur du code ET le traitement automatique seront exécutés dans tous les cas.
  • 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.
Java Cette constante n'est pas disponible en Java.
opRelanceProgrammeTermine l'application et relance automatiquement l'application.
AndroidWidget AndroidJava Cette constante n'est pas disponible.

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.
WINDEV Remarque : si le composant "Feedback" est intégré à l'application (soit directement, soit par le menu utilitaire ("?") de votre application), l'utilisateur a également la possibilité d'envoyer le rapport d'erreur au fournisseur de l'application.

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.
WINDEV Remarque : si le composant "Feedback" est intégré à l'application (soit directement, soit par le menu utilitaire ("?") de votre application), l'utilisateur a également la possibilité d'envoyer le rapport d'erreur au fournisseur de l'application.

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.
WINDEV Remarque : si le composant "Feedback" est intégré à l'application (soit directement, soit par le menu utilitaire ("?") de votre application), l'utilisateur a également la possibilité d'envoyer le rapport d'erreur au fournisseur de l'application.
AndroidJava Cette option a le même fonctionnement que l'option "Afficher l'erreur et retourner en saisie dans la fenêtre courante".

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
WINDEV Par défaut, les fenêtres de gestion des erreurs, des exceptions et des assertions sont intégrées à l'application. Ces fenêtres sont disponibles en français et en anglais.
Pour personnaliser ces fenêtres (ou pour les traduire dans une autre langue), il suffit d'importer les fenêtres correspondantes dans votre projet :
  1. Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Des éléments WINDEV et leurs dépendances".
  2. Sélectionnez le répertoire des éléments à importer : "Programs\Data\Preset Windows\FR\Assertion - Erreur - Exception".
  3. Sélectionnez les fenêtres à importer :
    WINDEVType de fenêtre
    WD_AfficheAssertion.wdwFenêtre de gestion des assertions
    WD_AfficheErreur.wdwFenêtre de gestion des erreurs
    WD_AfficheException.wdwFenêtre de gestion des exceptions
    WD_ModeleErreur.wdtModèle utilisé par les fenêtres WINDEV.
  4. Validez. La ou les fenêtres sont intégrées à votre projet. Ces fenêtres seront automatiquement utilisées et remplaceront les fenêtres par défaut.
Remarque : Pour utiliser les fenêtres par défaut, il suffit de supprimer les fenêtres importées de votre projet.
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