Gestion d'erreur dans vos méthodes

Thomas Schlumberger

- Titre : Gestion d'erreur dans vos méthodes

- Auteur : Thomas Schlumberger

- Parution : 27 avril 2007

- Licence : Copyright ® 2007 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

Produit : 4D 2003, 4D 2004 · Plateforme : Mac & Win ♪

Pour une programmation modulaire, il est recommandé de gérer les méthodes appelées sur erreur de manière à restaurer la méthode courante à la fin d'une méthode.

Vous pouvez aussi prévoir de compléter l'information disponible dans votre méthode appelée sur erreur, en renseignant le nom de la méthode, et d'autres informations susceptible d'aider à résoudre le problème.

Exemple de code

` --------------------
` en début de méthode
` --------------------

` déclaration des variables
C_TEXTE(vt_Nom_Methode_Courante)
C_TEXTE(vt_Mes_informations_Sur_Erreur)
C_TEXTE($vt_Gestion_Courante_Sur_Erreur)

` mémorisation de la méthode appelée sur erreur courante pour le process
$vt_Gestion_Courante_Sur_Erreur:=Methode appelee sur erreur

` fixer la méthode de gestion d'erreur
vt_Nom_Methode_Courante:=Nom methode courante
APPELER SUR ERREUR("ERROR_HANDLER_Test")

` --------------------
` suite de la méthode avec votre code
` --------------------

` (infos dans cette variable à traiter dans la méthode appelée sur erreur)
vt_Mes_informations_Sur_Erreur:="infos complémentaires : "
` ....  votre code

vt_Mes_informations_Sur_Erreur:=vt_Mes_informations_Sur_Erreur+" xxxx yyyy"
` (infos dans cette variable à traiter dans la méthode appelée sur erreur)

` ....  suite et fin de votre code
vt_Mes_informations_Sur_Erreur:=vt_Mes_informations_Sur_Erreur+12
` forcer une erreur en interprété

` --------------------
` fin de votre méthode
` --------------------

` restauration de la méthode appelée sur erreur courante pour le process
APPELER SUR ERREUR($vt_Gestion_Courante_Sur_Erreur)

Dans votre méthode ERROR_HANDLER_Test appelée sur erreur, vous pourrez, par exemple, regrouper ces informations pour les afficher dans une Alerte, dans un fichier de log d'erreurs, etc. :

C_ENTIER LONG($Error)
C_TEXTE(vt_Infos_Erreur)
C_ALPHA(1;$CR)
$CR:=Caractere(13)
vt_Infos_Erreur:="le "+Chaine(Date du jour;7)+", a "+Chaine(Heure courante)+$CR
vt_Infos_Erreur:=vt_Infos_Erreur+"Erreur No : "+Chaine(Error)+$CR

vt_Infos_Erreur:=vt_Infos_Erreur+"Nom Methode connue : "
vt_Infos_Erreur:=vt_Infos_Erreur+vt_Nom_Methode_Courante+$CR
vt_Infos_Erreur:=vt_Infos_Erreur+vt_Mes_informations_Sur_Erreur

` ajout dans un fichier de log, affichage dans une fenêtre, etc.

ALERTE(vt_Infos_Erreur)