Généralités

Commençons par le début …  la gestion d’erreurs 😉

La classe cErreur

Cette classe permet de centraliser la gestion des erreurs apparaissant dans le projet.

Si une méthode du framework ne s’exécute pas comme attendu, sont message d’erreur est accessible par : MonObjet.p_sErreur

Si une fonction (d’une collection) ne s’exécute pas comme attendu, sont message d’erreur est accessible par : ErreurInfo(errMessage)

Pour ajouter une erreur survenue dans votre code, vous pouvez la gérer de manière local ou de la mettre en mémoire de l’objet Application. Exemple : mpclApp.m_pclErreur.AjouteErreur(MonMessageErreur) avec mpclApp l’objet global cApplication.

Toute erreur ajoutée par AjouteErreur est donc mise dans un tableau en attendant d’être exploitée/affichée (voir ci-dessous les méthodes accessibles).  Pour vider le tableau d’erreurs : utilisez la méthode m_pclErreur.Raz.

Parfois on a juste besoin de renvoyer un message d’avertissement. Voilà pourquoi existe la méthode AjouteAvertissement(MonMessageAvertissement) qui se base sur le même principe de AjouteErreur. La méthode m_pclErreur.Raz vide autant le tableau d’erreurs que celui des avertissements.

Les erreurs et avertissements peuvent être des chaines mais peuvent aussi venir de WinDev (voir les fonctions ErreurInfo, hErreurInfo, ExceptionInfo et SQL.MesErreur). Cette syntaxe est abandonnées au profit des fonctions améliorées tels que : MsgErreur, MsgErreurHF, MsgException et MsgErreurODBC.  Les messages y sont reconstruits pour être plus pertinents (et ne pas dépasser la taille de l’écran !). Vous verrez donc dans le framework une syntaxe du genre : m_pclErreur.AjouteErreur(MsgErreur())

La classe cGénérique

La classe cGénérique est commune à toutes les autres classes. S’il faut modifier un comportement général à tout le framework ou donner accès à d’autres constantes, c’est la place privilégiée.

Elle permet d’accéder à quelques constantes (dont une très utilisée : le séparateur ASCII 149) et contient un objet m_pclErreur de type cErreur (voir ci-dessus).

Dans le cas de la manipulation d’objets complexes (qui contiennent d’autres objets individuels ou sous forme de tableaux), des erreurs peuvent apparaître dans chacun de ces objets. Pour les récupérer toutes d’un coup dans l’objet principal, utiliser MonObjet.p_sErreurTout.

Vous voulez l’erreur sous format JSON pour l’archiver dans un fichier texte (voir cTrace) ou l’envoyer comme réponse dans votre webservice : p_sErreurJSON et p_sErreurJSONTout sont là pour ça.

Toutes ces fonctions ont leur correspondance pour la gestion d’avertissements.

Cette classe contient également un membre particulier : m_vDéfinition qui contient la définition de l’ensemble de l’objet manipulé (pour des traitements dans ou en dehors du framework). Attention, les définitions ne sont pas disponibles sur toutes les plateformes.

Ce site n'a aucun lien avec la société PC SOFT®. Les marques "WinDev" et "WebDev" sont des marques déposées de la société PC SOFT.