PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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 :
  • Renvoyer la valeur 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidiPhone/iPadWindows MobileUniversal Windows 10 AppJava

Mettre en place la gestion automatique des erreurs

Pour mettre en place la gestion automatique des erreurs :
  1. Affichez sous l'éditeur de code, 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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidiPhone/iPadWindows MobileJava

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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidiPhone/iPadWindows MobileJava

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.
opRéessayerLa fonction ayant déclenché l'erreur est ré-exécutée.
Java Cette constante n'est pas disponible en Java.
opAnnulerLa fonction ayant déclenché l'erreur renvoie une erreur et le code continue à s'exécuter.
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 RepriseSaisie()
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()
opRelanceProgrammeTermine l'application et relance automatiquement l'application.
AndroidJava Cette constante n'est pas disponible.
WINDEVEtats et RequêtesAndroidiPhone/iPadWindows MobileJava

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.
WINDEVEtats et RequêtesAndroidiPhone/iPadWindows MobileJava

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.
WINDEVEtats et RequêtesiPhone/iPadWindows Mobile

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".
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidiPhone/iPadWindows MobileJava

Renvoyer la valeur 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
WINDEVWindows Mobile 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. Sélectionnez l'option :
    • WINDEV "Fichier .. Importer .. Des éléments WINDEV et leurs dépendances" WINDEV Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Des éléments WINDEV et leurs dépendances"
    • WINDEV Mobile "Fichier .. Importer .. Des éléments WINDEV Mobile et leurs dépendances" WINDEV Mobile Sous le volet "Projet", dans le groupe "Projet", déroulez "Importer" et sélectionnez "Des éléments WINDEV Mobile et leurs dépendances"
  2. Sélectionnez le répertoire des éléments à importer : "Programmes\Donnees\Fenêtres prédéfinies\Assertion - Erreur - Exception".
  3. Sélectionnez les fenêtres à importer :
    WINDEVWINDEV MobileType de fenêtre
    WD_AfficheAssertion.wdwWM_AfficheAssertion.WPWFenêtre de gestion des assertions
    WD_AfficheErreur.wdwWM_AfficheErreur.WPWFenêtre de gestion des erreurs
    WD_AfficheException.wdwWM_AfficheException.WPWFenê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 :
Versions 10 et supérieures
ErreurChangeParamètre
ErreurChangeParamètre
Paramètre le comportement automatique à adopter en cas d'erreur dans le traitement en cours.
Versions 10 et supérieures
ErreurDéclenche
Nouveauté 10
ErreurDéclenche
ErreurDéclenche
Déclenche une erreur non fatale.
Versions 09 et supérieures
ErreurInfo
Nouveauté 09
ErreurInfo
ErreurInfo
Récupère des informations sur la dernière erreur d'une fonction d'une composante de WINDEV, WINDEV Mobile ou de WEBDEV.
Versions 10 et supérieures
ErreurPropage
Nouveauté 10
ErreurPropage
ErreurPropage
Propage 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).
Versions 10 et supérieures
ErreurRestaureParamètre
ErreurRestaureParamètre
Ré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