Conseils

Gestion des Exceptions dans WinDev

🛡️ La Gestion des Exceptions dans WinDev : Maîtriser les Imprévus

Dans le développement d'applications avec WinDev (ainsi que WebDev et WinDev Mobile), la gestion des exceptions est un mécanisme essentiel pour garantir la robustesse et la stabilité de votre logiciel face aux erreurs de programmation (erreurs fatales).

Contrairement aux erreurs d'exécution (non fatales, souvent liées à l'environnement comme un problème de fichier ou de réseau) gérées par le mécanisme d'erreurs, les exceptions permettent d'intercepter et de traiter les dysfonctionnements internes majeurs avant qu'ils ne provoquent l'arrêt brutal de l'application.

1. Distinction Erreurs vs. Exceptions

Erreurs (Non Fatales)
Nature : Problèmes d'exécution (accès BD, fichier, réseau)
Mécanisme : Si Erreur / SI ErreurDétectée
Objectif : Reprendre la saisie, retenter l'opération ou afficher un message simple.

Exceptions (Fatales)
Nature : Erreurs de programmation (indices hors limites, division par zéro, etc.)
Mécanisme : QUAND EXCEPTION DANS... FAIRE ou gestion automatique
Objectif : Sortir proprement ou reprendre après correction.

2. Les Mécanismes d'Exception en WLangage

a) Exceptions Spécifiques

Encadrer un bloc de code et prévoir un traitement local :

QUAND EXCEPTION DANS
    // Code dangereux
    MaProcédureDangereuse()
FAIRE
    Erreur(ExceptionInfo(errComplet))
    RENVOYER opFinTraitement
FIN

Utilisez ExceptionInfo() pour obtenir les détails de l'erreur (code, ligne, contexte...)

b) Exceptions Générales

Définir un comportement global si aucune gestion spécifique n’est active :

  • Via les options du projet / fenĂŞtre
  • Ou avec ExceptionChangeParamètre(epExĂ©cuteProcĂ©dureGĂ©nĂ©rale)

Utile pour centraliser le traitement des erreurs fatales non anticipées.

3. Les Outils de Personnalisation

  • FenĂŞtres prĂ©dĂ©finies : personnalisables pour gĂ©rer les exceptions visuellement (WD_AfficheException.wdw).
  • ExceptionDĂ©clenche() : simule une exception pour tester les comportements mĂ©tier ou forcer un bloc FAIRE.

En maîtrisant ces mécanismes, les développeurs WinDev peuvent transformer les erreurs critiques en événements gérés, améliorant ainsi la fiabilité et la qualité de leurs applications.