Developpez.com - 4D
X

Choisissez d'abord la catégorieensuite la rubrique :


Gestion d'erreur dans vos méthodes

Date de publication : 27/04/2007

Par Thomas Schlumberger (Responsable Intl Tech Support)
 



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 succeptible d'aider à résoudre le problème.


Exemple de code
code 4D

  ` --------------------
  ` 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... :
code 4D

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)


Valid XHTML 1.1!Valid CSS!

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.

Contacter le responsable de la rubrique 4D