PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Ce que vous allez apprendre dans cette leçon
  • Présentation
  • Fonctionnement
  • Mise en place
  • Types d'erreurs concernées
  • Gestion automatique des erreurs : un exemple didactique
Leçon 7.2. Gestion automatique des erreurs
Ce que vous allez apprendre dans cette leçon
  • Qu'est-ce que la gestion automatique des erreurs ?
  • Utilisation de la gestion automatique des erreurs.

Durée estimée : 10 mn
Leçon précédenteSommaireLeçon suivante
Présentation
WINDEV peut gérer automatiquement les erreurs. Cette fonctionnalité permet à la fois de réduire sensiblement le code d'un projet tout en uniformisant et en centralisant la gestion des erreurs. L'utilisation de cette fonctionnalité rend également le code plus lisible.

Fonctionnement

Lorsqu'une fonction du WLangage rencontre une erreur, deux opérations sont réalisées :
  • une valeur de retour d'erreur est renvoyée par la fonction (par exemple, la fonction fOuvre renvoie la valeur "-1" si le fichier spécifié n'a pu être ouvert).
  • l'erreur est détectée par le WLangage (la variable ErreurDétectée correspond à Vrai) et il est possible de récupérer des informations sur cette erreur grâce à la fonction ErreurInfo.
C'est cette seconde opération qui peut être gérée en automatique grâce à la gestion des erreurs de WINDEV.

Mise en place

Le paramétrage de la gestion automatique des erreurs peut s'effectuer :
  • soit directement dans l'éditeur de code : il suffit de cliquer sur le lien "Si erreur : Par programme" dans l'éditeur de code :
  • soit par programmation, avec la fonction ErreurChangeParamètre.

Types d'erreurs concernées

Le WLangage peut rencontrer deux types d'erreurs :
  • les erreurs "non fatales" (appelées également erreurs d'exécution) : ces erreurs sont généralement gérées dans le code et ne provoquent pas l'arrêt de l'application. Par exemple, ouverture d'un fichier inaccessible ou d'une archive inexistante.
  • les erreurs "fatales" (appelées également erreurs de programmation) : ces erreurs sont généralement liées à un défaut de conception (accès à un fichier non déclaré, utilisation de champs inexistants, ...). Une erreur "fatale" peut également survenir suite à une erreur "non fatale" mal gérée. Dans ce cas, l'application va s'arrêter.
Le mécanisme de gestion des erreurs permet de gérer de façon bien distincte ces deux types d'erreurs afin de pouvoir spécifier des comportements adaptés aux erreurs rencontrées.
Gestion automatique des erreurs : un exemple didactique
  • Pour comprendre les différents cas d'erreurs et leur gestion, nous vous proposons de manipuler un exemple didactique livré en standard avec WINDEV.
    1. Fermez si nécessaire le projet en cours. La fenêtre de bienvenue apparaît.
    2. Dans la fenêtre de bienvenue, cliquez sur "Ouvrir un exemple". La liste des exemples complets, didactiques et unitaires fournis avec WINDEV apparaît.
    3. Dans la zone de recherche, saisissez "Erreur". Seuls les exemples contenant ce mot sont alors listés.
    4. Sélectionnez le projet "WD Gestion Auto Erreurs". Le projet se charge.
  • Ce projet présente la gestion :
    • d'une erreur non fatale (ouverture d'une archive inexistante).
    • d'une erreur fatale (division d'un entier par 0).
    • d'une erreur sur plusieurs niveaux.
  • Testez le projet en cliquant sur (parmi les boutons d'accès rapide).
    1. Cliquez sur le choix "Gestion d'une erreur non fatale".
    2. La fenêtre suivante s'affiche.
    3. Cliquez sur le bouton "Tester cette gestion d'erreur".
    4. Lors de l'exécution de la ligne de code générant l'erreur, un message d'erreur s'affiche et propose à l'utilisateur de réessayer l'opération, d'annuler l'opération ou d'arrêter l'application. L'option "Déboguer" est à utiliser :
      • en mode test, pour déboguer directement l'application.
      • en mode exécutable, pour réaliser le débogage d'un exécutable directement depuis WINDEV.
    5. Cliquez sur l'option "Annuler l'opération" et fermez la fenêtre.
  • Cliquez sur le choix "Gestion d'une erreur fatale".
    1. La fenêtre suivante s'affiche. Cette fenêtre permet de tester l'erreur dans le cas de la division d'un entier par 0.
    2. Cliquez sur le bouton "Tester cette gestion d'erreur".
    3. Lors de l'exécution de la ligne de code générant l'erreur, une procédure est automatiquement appelée. Cette procédure permet d'afficher le message d'erreur et d'arrêter le traitement en cours.
    4. Cliquez sur "OK" et fermez la fenêtre.
  • Cliquez sur le choix "Gestion d'une erreur sur plusieurs niveaux".
    1. La fenêtre suivante s'affiche. Cette fenêtre permet de tester une erreur sur plusieurs niveaux (traitement appelant une procédure qui ouvre une archive inexistante).
    2. Cliquez sur le bouton "Tester cette gestion d'erreur".
    3. Lors de l'exécution de la ligne de code générant l'erreur :
      • la procédure retourne "Faux" au traitement appelant.
      • le traitement appelant affiche un message d'erreur et arrête le traitement.
    4. Cliquez sur le bouton "Annuler l'opération".
  • Arrêtez le test de l'application.

Exemple

WINDEV propose également une gestion automatique des erreurs HFSQL. Pour plus de détails, consultez l'exemple "WD Detection erreurs HFSQL" (exemple didactique), livré en standard avec WINDEV. Cet exemple est accessible depuis la fenêtre de bienvenue de WINDEV.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 23
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire